SpringBoot 项目属性配置管理

1、使用yml文件代替propertities文件:简便

2、新建一个application.yml代表全局配置,application_dev.yml代表开发环境配置,application_prod_yml代表产品发布配置



application.yml

spring:
  profiles:
    active: dev
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/chenjie
    username: root
    password: root
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true

active指定了采用的配置



application_dev.yml

server:
  port: 8082
cupSize: B
age: 18
content: "cupSize: ${cupSize}, age: ${age}"
girl:
  cupSize: B
  age: 18

application_prod_yml:

server:
  port: 8080
cupSize: F
age: 18
content: "cupSize: ${cupSize}, age: ${age}"
girl:
  cupSize: F
  age: 18

如何访问配置中属性?

@Value("${cupSize}")
private String cupSize;

@Value("${age}")
private Integer age;


使用Value注入


如何在配置中再使用配置?

cupSize: B
age: 18
content: "cupSize: ${cupSize}, age: ${age}"
其中content配置使用了其它配置
配置太多怎么办?
使用配置类
@Component
@ConfigurationProperties(prefix = "girl")
public class GirlProperties {
    private String cupSize;
    private Integer age;

    public String getCupSize() {
        return cupSize;
    }

    public void setCupSize(String cupSize) {
        this.cupSize = cupSize;
    }

    public Integer getAge() {
        return age;
    }

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

    @Override
    public String toString() {
        return "GirlProperties{" +
                "cupSize='" + cupSize + '\'' +
                ", age=" + age +
                '}';
    }
}

怎么使用配置类?
@Autowired
private GirlProperties girlProperties;
便能把配置文件中的配置注入到配置类中,注意配置类的prefix要设置对





你可能感兴趣的:(Java)