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

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     <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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101062.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Axis2创建WebService实例

    Axis2创建WebService实例Axis2创建WebService实例博客分类: Java综合WebServiceTomcatApacheWebXML   一、Axis2的下载和安装    1.可从http://ws.apache.org/axis2/ 下载Axis2的最新版本:     可以下载如下两个zip包:     axis2-1.5.4-bin.zip 

    2022年7月21日
    16
  • android中怎么在View构造的attrs中拿到android给的属性以及attrs属性介绍[通俗易懂]

    android中怎么在View构造的attrs中拿到android给的属性以及attrs属性介绍[通俗易懂]attrs获得,而自定义的属性获得值方式如下,当然原生的也是一样,只需要把attrname该成系统的。一、首先要在res/values目录下建立一个attrs.xml(名字可以自己定义)的文件,并在此文件中增加对控件的属性的定义.其xml文件如下所示:在这里,需要补充attrs属性的相关知识,即Attr属性是如何在

    2022年10月17日
    4
  • tar 解压缩命令详解

    tar 解压缩命令详解以下是对tar命令的一些总结:解压操作:tar解压缩命令详解这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。下

    2022年7月1日
    26
  • Mybatis中javaType和jdbcType对应关系

    Mybatis中javaType和jdbcType对应关系

    2021年9月7日
    78
  • 如何在Pycharm上安装PyQt5[通俗易懂]

    如何在Pycharm上安装PyQt5[通俗易懂]这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Mar

    2022年8月25日
    6
  • Java输入输出(标准)

    Java输入输出(标准)简述Java输入就需要自己构造类了。其中nextLine()这个方法,表示的是,一直读,读到有换行符之后就截至(不取换行符)代码importjava.util.*;publicclassTest{publicstaticvoidmain(String[]args){Scannerin=newScanner(System….

    2022年5月15日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号