Spring @Value注解使用${}进行注入

原文:http://my.oschina.net/js99st/blog/632104 
spring3中新增的@value注解 http://bijian1013.iteye.com/blog/2024068,这里成功配置 

controller读取不到的原因: http://cdn.verydemo.com/demo_c143_i7726.html 

我在之前的项目中一直使用下面的格式注入: 

Java代码   收藏代码
  1. @Value("#{config['redis.host']}")  
  2. private String  redisHost;  


使用下面的方式注入总是不成功。 

Java代码   收藏代码
  1. @Value("${redis.host}")  
  2. private String  redisHost;  


最近终于发现,扫描配置文件的语句: 

Xml代码   收藏代码
  1. <context:property-placeholder location="classpath*:/xxx.properties" />  


要交给springMVC的DispatcherServlet去扫描,而不是spring的监听器ContextLoaderListener去扫描,就可以比较方便的使用“${xxx}”去注入。 



详细配置:
 
Spring MVC 通过@Value注解读取.properties配置内容,@value.properties 

第一步: 

在applicationContext.xml配置: 

1      
2          
3              
4                 classpath:/config/*.properties 
5            
 
6        
 
7    
 
8      
9          
10    
    
第二步: 

建立配置文件内容: 

例如:userPageSize=5 

第三步: 

在Controller中使用注解获得配置项内容: 

1 @Value("#{configProperties['userPageSize']}") 
2 private String userPageSize; 
第四步: 

后面的代码就可以使用userPageSize这个私有变量了,这个字符串的值就是我们配置文件中配置的5.

你可能感兴趣的:(Spring @Value注解使用${}进行注入)