文档章节

SpringBoot笔记1-使用idea创建SpringBoot的hello world

HGMrWang
 HGMrWang
发布于 2017/06/05 11:24
字数 875
阅读 53
收藏 2
  • 1、创建基本项目

1、新建项目选择 Spring Initializr ,右边的配置可以选择jdk的版本,其他选项不变

  

2、设置项目的基本信息

3、选择web模块

此处可以看到spring boot 的版本为:1.5.3

4、设置项目名称

5、修改maven仓库地址为阿里云提供的仓库。

	<!--设置maven 仓库为阿里云提供的maven仓库 国外的maven仓库慢-->
	<repositories>
		<repository>
			<id>nexus-aliyun</id>
			<name>Nexus aliyun</name>
			<url>http://maven.aliyun.com/nexus/content/groups/public</url>
		</repository>
	</repositories>

6、启动项目

spring boot 内置的tomcat默认端口是8080;

在浏览器访问:http://localhost:8080

7、创建一个控制器 

@RestController
public class HelloApiController {

    @GetMapping(value = "hello")
    public String hello(){
        return "hello spring boot";
    }
}

在浏览器输入:http://localhost:8080/hello

返回:hello spring boot

8、打包启动

使用idea的maven工具来打包项目为jar

进入 jar所在的目录执行:java -jar helloword-0.0.1-SNAPSHOT.jar

在浏览器输入:http://localhost:8080/hello

一切都是正常的。

第一个spring boot 项目已经创建完成啦……

2、配置文件

1、修改tomcat默认端口

在resource目录下新建一个application.yml文件,同时删除application.properties文件

 

2、yml文件和Java bean自动绑定

1、application.yml

server:
  port: 8888

student:
  name: 张三
  age: 12
  address: 张家沟

这里注意文件编码统一为utf-8

2、现金Student 类

@Component//加入到spring 容器中
@ConfigurationProperties(prefix = "student")
public class Student {

    private String name;

    private Integer age;

    private String address;


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", address='" + address + '\'' +
                '}';
    }
}

如果属性名称时驼峰命名的话,在配置文件中使用中划线连接单词。

3、在控制器中使用:

@RestController
public class HelloApiController {

    Logger logger= LoggerFactory.getLogger(HelloApiController.class);

    @Autowired
    private Student student;

    @GetMapping(value = "hello")
    public String hello(){
        logger.info("你好1");
        return "hello spring boot" +student.toString();
    }
}

4、访问接口:

3、application.yml开发环境和生成环境

1、新建application-dev.yml

server:
  port: 8081
student:
  name: 张三-开发环境
  age: 12
  address: 张家沟

这里将开发环境的端口设置成了 8081

2、新建application-prod.yml

server:
  port: 8082

student:
  name: 张三-生产环境
  age: 12
  address: 张家沟

这里将生产环境的端口设置成了 8082

3、修改application.yml文件

设置为开发环境:

spring:
  profiles:
    active: dev

启动项目 http://localhost:8081/hello

设置为生产环境:

spring:
  profiles:
    active: prod

启动项目 http://localhost:8082/hello

 上面配置分别配置了生产环境和测试环境的yml文件,然后在application.yml文件中通过配置

spring:
  profiles:
    active: prod

4、jar部署

来启动项目,如果要同时启动生产环境和测试环境,则可以通过jar方式来启动:

进入 jar所在的目录执行:

启动生产环境:java -jar helloword-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

启动测试环境:java -jar helloword-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev

只要端口不同就可以。

设置为后台部署:

   java -jar helloword-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod &

   nohup java -jar yourapp.jar &

[root@localhost spring]# java -jar eureka-client-0.0.1-SNAPSHOT.jar &
[1] 2384
[root@localhost spring]# nohup java -jar eureka-client-0.0.1-SNAPSHOT.jar &
[1] 2366
[root@localhost spring]# nohup: 忽略输入并把输出追加到"nohup.out"

使用 tail -f nohup.out可以查看控制台日志

启动成功后会返回当前的进程id 

查看当前java应用有哪些在运行中:

[root@localhost spring]# ps -ef |grep java
root       2384   2288  9 09:40 pts/0    00:00:19 java -jar eureka-client-0.0.1-SNAPSHOT.jar
root       2422   2288  0 09:43 pts/0    00:00:00 grep --color=auto java

停止进程:kill -9 进程id

 

 

 

 

 

 

 

 

 

 

 

 

© 著作权归作者所有

HGMrWang
粉丝 5
博文 83
码字总数 38716
作品 0
深圳
程序员
《Spring Boot 实战:从0到1》第2章 快速开始Hello World

第2章 快速开始Hello World 大约20年前,程序员们使用“企业级Java Bean”(EJB)开发企业应用,需要配置复杂的XML。在二十世纪初期,新兴Java技术——Spring,横空出世。使用极简XML和POJO(...

程序员诗人
2017/08/01
0
0
SpringBoot学习之路:12.Spring Boot使用idea开发如何配置热加载

java开发的ide用最多的无非就是eclipse和idea,在eclipse中开发springboot,要使项目热加载资源只需要在pom文件中引入springboot的开发工devtools即可。但是该工具在使用idea开发springboot时...

MaxBill
08/15
0
0
第一个SpringBoot示例

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这...

zq木偶人
07/19
0
0
SpringBoot基础教程1.1.1 项目搭建

概述 为微服务而生,大大简化搭建工程的时间;个人理解,是一些框架的集合, 整合各个框架,降低使用门槛。 1.1. 特色 介绍项目的同时,推荐相关快捷键,熟能生巧,无需死记硬背。 2. 本节重...

Mkeeper
07/02
0
0
Spring Boot HelloWorld 解析

开发环境 开发工具:IDEA 2017.2.2 链接: https://pan.baidu.com/s/1qxZLZtBR-Xr7JVkgmhZWzw 密码: wsqp 激活教程:http://idea.lanyus.com/ Spring Boot:2.0.3.RELEASE 参考文档:https://d......

爱编程的帅小伙
07/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【挑战剑指offer】系列03:逆序打印单链表

本系列的算法原题来自于“牛客网-剑指offer”,写这个板块,不仅仅是解决算法问题本身,更是手动提高难度、自行变式,思考更多的解决方案,以带给自己一些启发。 1. 【逆序打印单链表】原始题...

LinkedBear
32分钟前
1
0
Linux内存布局

今天这篇文章主要是我之前看Linux内核相关知识和博客Gustavo Duarte中。我主要是看了这篇博客,并且结合之前的知识,对内存管理的的理解又上升了一个档次。所以想通过这篇文章总结下。 我们先...

linuxprobe16
51分钟前
1
0
day94-20180921-英语流利阅读-待学习

记录死亡还是消费死者?自杀报道的媒体偏见 雪梨 2018-09-21 1.今日导读 自杀事件报道一直是新闻报道的重要部分,具有骇人听闻、吸引眼球的特点。可是在报道这些事件的时候,除了客观陈述事实...

飞鱼说编程
57分钟前
4
0
如何通过 J2Cache 实现分布式 session 存储

做 Java Web 开发的人多数都会需要使用到 session (会话),我们使用 session 来保存一些需要在两个不同的请求之间共享数据。一般 Java 的 Web 容器像 Tomcat、Resin、Jetty 等等,它们会在...

红薯
今天
3
0
C++ std::thread

C++11提供了std::thread类来表示一个多线程对象。 1,首先介绍一下std::this_thread命名空间: (1)std::this_thread::get_id():返回当前线程id (2)std::this_thread::yield():用户接口...

yepanl
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部