29.Spring-boot中@ConfigurationProperties,@Value,@PropertySource

1.利用@ConfigurationProperties获取配置的值,@ConfigurationProperties是springboot提供的基于安全类型的配置放置。

    application.properties

spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.maxIdle=10
spring.redis.maxActive=20

 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;

  }




猜你喜欢

转载自blog.csdn.net/niugang0920/article/details/80612070