我们都知道Spring可以注入各种对象,而有些时候,我们需要注入一些配置项,而不是一个对象。
可以发现Spring提供了一个PreferencesPlaceholderConfigurer类,可以方便的让我们使用注解将properties中的配置信息注入到对象中。
具体操作如下:
创建一个Maven项目,添加Spring Context依赖。
在Spring上下文的配置文件中声明org.springframework.beans.factory.config.PropertiesFactoryBean和org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer的实例。
1 | <bean id="configProperties" |
然后在Java代码中使用@Value注解来取值。注意:相应的Java类也需要使用@Service、@Component等声明由Spring管理。
1 | ("#{configProperties['mysql.url']}") |
注解中的value值#{configProperties['mysql.url']}中的configProperties就是Spring上下文中org.springframework.beans.factory.config.PropertiesFactoryBean的实例ID,mysql.url就是properties中配置的key。