SpringBoot 读取配置文件
Spring Boot 中的配置通常放在application.properties中,读取信息非常方便,可分为三种方式。(application.yml也是一样的。)
(1)Environment:
- 可以通过Environment的getProperty()方法来获取想要的信息。
@RestController
public class HelloController {
@Autowired
private Environment env;
@GetMapping("/hello")
public String hello(){
String port = env.getProperty("server.port");
return port;
}
}
(2)@Value:
- 可以注入具体的配置信息。
@RestController
public class HelloController2 {
@Value("${server.port}")
private String port;
@GetMapping("/hello2")
public String hello2(){
return port;
}
}
(3)自定义配置类
- prefix定义配置的前缀。
@ConfigurationProperties(prefix = "server")
@Component
public class MyConfig {
private String port;
public String getPort() {
return port;
}
public void setPort(String port) {
this.port = port;
}
}
@RestController
public class HelloController3 {
@Autowired
private MyConfig myConfig;
@GetMapping("/hello3")
public String hello3(){
return myConfig.getPort();
}
}
profiles多环境配置
在Spring Boot中可以通过spring.profiles.active=dev来激活不同环境下的配置
application.properties | 通用配置,不区分环境 |
---|---|
application-dev.properties | 开发环境 |
application-test.properties | 测试环境 |
application-prod.properties | 生产环境 |
在开发环境中,可以通过修改application.properties 中的spring.profiles.active的值来激活对应环境的配置,在部署的时候可以通过java -jar xxx.jar --spring.profiles.active=dev 来指定使用对应的配置。
以上内容参考自:
- 《Spring Cloud微服务入门、实战与进阶》----尹吉欢