一、 三种启动方式
- 代码中直接启动main 方法
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
- 进入项目文件夹下,运行指令
mvn spring-boot:run
- 先打包,在运行
mvn install
进入target: java -jar ______.jar
二、 Spring boot 配置文件
1、 在 application.properties 配置端口号和路径信息:
server.port=8081
server.context-path=/pl
浏览器请求地址
http://localhost:8081/pl/show
除了上述配置, Springboot还支持yml 配置方式,配置以下信息也可以实现上述结果 ( 冒号后面必须加空格 )
server:
port: 8081
context-path: /pl
2、对于一些属性,我们经常在配置文件中配置, 在java代码中读取,比如以下信息
personName: panlei
sex: 男
用代码获取方式
@RestController
public class TestController {
@Value("${personName}")
private String personName;
@Value("${sex}")
private String sex;
@RequestMapping("/show")
public String show(){
return personName+"--"+sex;
}
}
当属性较多的时候,一个个的写注解不方便,可惜使用模型类来接受,实现方式如下:
application.yml
person:
personName: panlei
sex: 男
java 代码
@Component
@ConfigurationProperties(prefix = "person")
public class PersonInfo {
private String personName;
private String sex;
public String getPersonName() {
return personName;
}
public void setPersonName(String personName) {
this.personName = personName;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
@RestController
public class TestController {
@Autowired
private PersonInfo personInfo;
@RequestMapping("/show")
public String show(){
return personInfo.getPersonName()+"--"+personInfo.getSex();
}
}
三、多环境配置
有时候会面临着很多环境,比如开发环境、产品环境、测试环境等,这时可以在配置文件中配置多个环境配置文件,如下
创建开发环境配置文件和生产环境测试文件
application-dev.yml
application-prod.yml
主配置文件 application.yml 配置引用的文件
server:
port: 8080
spring:
profiles:
active: prod
application-prod.yml 中配置环境信息,如下
server:
port: 8081
这时候 tomcat 启动的端口为 8081,如下图
另一种调用方式:通过dos 启用不同的配置
先进入项目目录,运行mvn install 打包
之后,进入target文件下,通过下面指令运行target下的jar包
java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
四、 SpringBoot 热部署
1、 引入依赖包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
2、修改配置文件
#关闭缓存,及时刷新
spring:
thymeleaf:
cache: true
devtools:
restart:
enabled: true #热部署生效
additional-paths: comom-system/src/main/java
3、当我们修改了java类后,IDEA默认是不自动编译的,而spring-boot-devtools又是监测classpath下的文件发生变化才会重启应用,所以需要设置IDEA的自动编译:
(1)File-Settings-Compiler-Build Project automatically
(2)ctrl + shift + alt + /,选择Registry,勾上 Compiler autoMake allow when app running