您的位置:首页 > 编程语言 > Java开发

Spring注入Properties文件中的配置

2017-05-11 15:37 302 查看
本文首发于我的博客:https://blog.wellcoding.win

我们都知道Spring可以注入各种对象,而有些时候,我们需要注入一些配置项,而不是一个对象。

可以发现Spring提供了一个
PreferencesPlaceholderConfigurer
类,可以方便的让我们使用注解将properties中的配置信息注入到对象中。

具体操作如下:

创建一个Maven项目,添加Spring Context依赖。

在Spring上下文的配置文件中声明
org.springframework.beans.factory.config.PropertiesFactoryBean
org.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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring