如何通过在应用启动时初始化的属性bean提供Spring Boot属性

时间:2019-02-22 19:01:33

标签: spring spring-boot spring-properties

我有一个用例,其中我有一些包含属性的类,并在从外部源启动应用程序时进行初始化,现在我希望像数据源这样的spring boot自动配置的bean从这些属性类中获取属性。

示例:

@Configuration
public class A {

String url;
String password;
String username:
.
.
.
othere datasource related fields 
.
.
.


getters...
setters...

}

现在,此bean将在启动时创建并从外部源获取值。 数据源Bean(SQL Server)的自动配置如何从此类中获取值,以及如何在数据源之前强制初始化该Bean。

1 个答案:

答案 0 :(得分:0)

您可以为此使用一个@ConfigurationProperties带注释的类。可以用来从.properties.yml文件中读取配置。

用法示例:

@Configuration
@PropertySource("classpath:configprops.properties")
@ConfigurationProperties(prefix = "myprop")
public class ConfigProperties {

    private String property1;
    private String property2

    // getters and setters
}

.properties文件中,我们按如下方式存储字段:

#My properties
myprop.property1=property
myprop.property2=another property

现在,根据Spring文档,用@ConfigurationProperties注释一个类就足够了,以便将其转换为bean并使其能够自动装配。通常人们也倾向于应用@Configuration注释。