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文件中的配置。


本文转载:CSDN博客