Spring @Value注解使用${}进行注入
原文:http://my.oschina.net/js99st/blog/632104
spring3中新增的@value注解 http://bijian1013.iteye.com/blog/2024068,这里成功配置
spring3中新增的@value注解 http://bijian1013.iteye.com/blog/2024068,这里成功配置
controller读取不到的原因: http://cdn.verydemo.com/demo_c143_i7726.html
我在之前的项目中一直使用下面的格式注入:
使用下面的方式注入总是不成功。
最近终于发现,扫描配置文件的语句:
要交给springMVC的DispatcherServlet去扫描,而不是spring的监听器ContextLoaderListener去扫描,就可以比较方便的使用“${xxx}”去注入。
详细配置:
Spring MVC 通过@Value注解读取.properties配置内容,@value.properties
第一步:
在applicationContext.xml配置:
1 2 3 4 5 6 7 8 9 10 |
1 <bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> 2 <property name="locations"> 3 <list> 4 <value>classpath:/config/*.properties</value> 5 </list> 6 </property> 7 </bean> 8 <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer"> 9 <property name="properties" ref="configProperties" /> 10 </bean> |
第二步:
建立配置文件内容:
例如:userPageSize=5
第三步:
在Controller中使用注解获得配置项内容:
1 2 |
1 @Value("#{configProperties['userPageSize']}") 2 private String userPageSize; |
第四步:
后面的代码就可以使用userPageSize这个私有变量了,这个字符串的值就是我们配置文件中配置的5.