Spring Boot 2.2
修改内嵌Tomcat端口号和访问根路径
application.yml
server:
port: 8082
servlet:
context-path: /girl
使用@Value读取配置属性值
application.yml
name: "abc"
age: 12
#配置文件中使用自己的变量
content: "name: ${name}, age: ${age}"
controller:
@RestController
public class HelloController {
@Value("${name}")
private String name;
@Value("${age}")
private Integer age;
@Value("${content}")
private String content;
@RequestMapping(value="test")
public String test() {
return name + "-" + age+"-" + content;
}
}
结果:
abc-12-name: abc, age: 12
使用@ConfigurationProperties读取配置属性值
application.yml
person:
name: "abc"
age: 12
#配置文件中使用自己的变量
content: "name: ${person.name}, age: ${person.age}"
PersonProperties.java
@Configuration
@ConfigurationProperties(prefix = "person")
public class PersonProperties {
private String name;
private Integer age;
private String content;
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
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;
}
}
TestController1 .java
@RestController
public class TestController1 {
@Autowired
private PersonProperties personProperties;
@RequestMapping(value="test")
public String test() {
return personProperties.getContent();
}
}
结果:
name: abc, age: 12
开发环境和生产环境下配置文件的切换
开发环境application-dev.yml
server:
port: 8080
servlet:
context-path: /dev
生产环境application-pro.yml
server:
port: 8081
servlet:
context-path: /pro
application.yml
spring:
profiles:
active: pro
通过这样的配置,当spring.profiles.active的值为pro时,用application-pro.yml文件中的配置,当spring.profiles.active的值为dev时,application-dev.yml文件中的配置。