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要设置对