Spring注入Properties文件中的配置

来源:互联网 发布:淘宝信用卡网银支付 编辑:程序博客网 时间:2024/06/06 03:50

本文首发于我的博客:https://blog.wellcoding.win

我们都知道Spring可以注入各种对象,而有些时候,我们需要注入一些配置项,而不是一个对象。
可以发现Spring提供了一个PreferencesPlaceholderConfigurer类,可以方便的让我们使用注解将properties中的配置信息注入到对象中。

具体操作如下:

创建一个Maven项目,添加Spring Context依赖。
在Spring上下文的配置文件中声明org.springframework.beans.factory.config.PropertiesFactoryBeanorg.springframework.beans.factory.config.PreferencesPlaceholderConfigurer的实例。

<bean id="configProperties"    class="org.springframework.beans.factory.config.PropertiesFactoryBean">    <property name="locations">        <list>            <value>classpath*:*.properties</value>        </list>    </property></bean><bean id="propertyConfigurer"    class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">    <property name="properties" ref="configProperties"/></bean>

然后在Java代码中使用@Value注解来取值。注意:相应的Java类也需要使用@Service@Component等声明由Spring管理。

@Value("#{configProperties['mysql.url']}")private String url;

注解中的value值#{configProperties['mysql.url']}中的configProperties就是Spring上下文中org.springframework.beans.factory.config.PropertiesFactoryBean的实例ID,mysql.url就是properties中配置的key。

https://blog.wellcoding.win/2017/05/10/2017-05-10-spring-inject-properties.html

1 0
原创粉丝点击