博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring @Value注解使用${}进行注入(转)
阅读量:6884 次
发布时间:2019-06-27

本文共 1156 字,大约阅读时间需要 3 分钟。

原文: 

spring3中新增的@value注解 ,这里成功配置 
controller读取不到的原因:  
我在之前的项目中一直使用下面的格式注入: 

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     <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 @Value("#{
configProperties['userPageSize']}") 
2 private String userPageSize; 
第四步: 
后面的代码就可以使用userPageSize这个私有变量了,这个字符串的值就是我们配置文件中配置的5.

转载于:https://www.cnblogs.com/talkingcat/p/10492798.html

你可能感兴趣的文章
常用数据类型
查看>>
windows
查看>>
tp3.2 事务处理
查看>>
Alpha 冲刺 (5/10)
查看>>
类的静态字段和构造函数
查看>>
TLE之前,没有一个节点叫失败!!!
查看>>
机器学习入门之二:一个故事说明什么是机器学习(转载)
查看>>
利用MySQL存储过程分割字符串
查看>>
Webkit statistics of Android
查看>>
哥德巴赫猜想
查看>>
动态规划3--Help Jimmy
查看>>
Java常用英语汇总(面试必备)
查看>>
负载均衡的认识
查看>>
Swing-选项卡面板JTabbedPane-入门
查看>>
(21/24) webpack实战技巧:webpack对三方类库的优化操作
查看>>
复利完结观看评价
查看>>
service 需要注意的地方
查看>>
【并查集】Gym - 101128B - Black Vienna
查看>>
【模拟】洛谷 P1328 NOIP2014提高组 day1 T1 生活大爆炸版石头剪刀布
查看>>
JavaScript中的forEach
查看>>