spring配置文件(application.properties、application.yml、application.yaml))中的配置项加载到自定义类中的方法

spring配置文件(application.properties、application.yml、application.yaml))中的配置项加载到自定义类中的方法

 

application.properties文件内容:

util.app.name = test
util.app.version = 1.0

 

1.通过@Value注解单个获取

注:该注解是由BeanPostProcessor来处理的,因此该注解不能使用在BeanPostProcessor和BeanFactoryProcessor类中。

@Component
public class PropertiesValue {

    @Value("${util.app.name}")
    private String name;

    @Value("${util.app.version}")
    private String version;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

}

 

2.通过@ConfigurationProperties和@Componet注解批量获取

基于前缀进行批量获取配置参数值。@ConfiguratonProperties可以使用在类定义前,也可以使用在@Configuration配置类中的@Bean方法前。

@ConfigurationProperties(prefix="util.app")
@Component
public class PropertiesValue {

    private String name;

    private String version;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

}

 

3.通过@ConfigurationProperties和@EnableConfigurationProperties(AutoConfig.class)注解批量获取

@ConfigurationProperties(prefix="util.app")
public class PropertiesValue {

    private String name;

    private String version;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

}

 

 @Configuration

@EnableConfigurationProperties(PropertiesValue.class)

public class AppConfig { } 

 

4.通过@ConfigurationProperties和@ConfigurationPropertiesScan注解批量获取

posted on 2021-06-03 00:29  pcant  阅读(282)  评论(0编辑  收藏  举报