propertiesbean配置项bean

ConfigurationProperties注解可以很方便的把一些配置文件转化为一个bean,

基本用法如下

@Component
@ConfigurationProperties("redis")
public class RedisProp {
    private String host;
    private String port;
    private String password;

  // getter && setters....
}

yml配置文件如下:

redis:
  host: 127.0.0.1
  port: 6808
  password: pwd

需要确保maven中有如下依赖:


    org.springframework.boot
    spring-boot-configuration-processor
    true

configuration-processor的作用是maven编译时自动生成spring-configuration-metadata.json文件。

初始化bean

第一种方法:使用Component注解
@Component
@ConfigurationProperties("redis")
public class RedisProp {
}

第二种方法:使用EnableConfigurationProperties
@Configuration
@EnableConfigurationProperties(RedisProp.class)
public class MyConfiguration {
}

使用外部bean

当使用jar包中的bean时,我们是无法进行上述操作的,这种情况下可以这么处理:

    @Bean
    @ConfigurationProperties("redis1")
    public GenericObjectPoolConfig redis1(){
        return new GenericObjectPoolConfig();
    }

    @Bean
    @ConfigurationProperties("redis2")
    public GenericObjectPoolConfig redis2(){
        return new GenericObjectPoolConfig();
    }

配置文件的查找顺序

@ConfigurationProperties(prefix="person")
public class OwnerProperties {
private String firstName;
public String getFirstName() {
return this.firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
}

firstName的查找顺序如下:

person.firstName
person.first-name
person.first_name
PERSON_FIRST_NAME

你可能感兴趣的:(propertiesbean配置项bean)