1.利用@ConfigurationProperties获取配置的值,@ConfigurationProperties是springboot提供的基于安全类型的配置放置。
application.properties
spring.redis.host=127.0.0.1
spring.redis.port=
spring.redis.maxIdle=
spring.redis.maxActive=
RedisConfig.java
@Configuration
@ConfigurationProperties(prefix = "spring.redis") //会在application,properties,查找spring.redis开头的配置 public class RedisConfig { //必须有get set放入,否则值注入不进去 //匹配 spring.redis.host public String host; //匹配 spring.redis.port public int port; public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
2.利用@Value获取值,在springboot中如果不配置@PropertySource(value="classpath:redis.properties")(配置文件路径),默认是从application.properties中获取值,你也可以配置额外的@PropertySource,如下
@PropertySource(value="classpath:redis.properties")
//@PropertySource(value="file:/home/config/redis.properties") public class RedisConfig { //从application.properties从获取 @Value("${spring.redis.host}")
public String host; //从application.properties从获取 @Value("${spring.redis.port}")
public int port; //从redis中获取.properties从获取 @Value("${name}")
public String name; }
@ConfigurationProperties
为springboot 专用的属性注入属性 文件名必须是application.properties/applicaiton.yml 默认为全局文件中获取这些熟悉值
@Value,
value 属性 处理能支持spel表达式以外 全部不如 ConfigurationProperties
@PropertySource
需要指定(classpath:xxxx.properties)加载指定的配置文件
作者:盲目的拾荒者
来源:CSDN
原文:https://blog.csdn.net/niugang0920/article/details/80612070