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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 又拍云服务评測分享

    又拍云服务评測分享

    2021年11月16日
    66
  • OpenGL的glPushMatrix和glPopMatrix矩阵栈顶操作函数详解

    OpenGL中图形绘制后,往往需要一系列的变换来达到用户的目的,而这种变换实现的原理是又通过矩阵进行操作的。opengl中的变换一般包括视图变换、模型变换、投影变换等,在每次变换后,opengl将会呈现一种新的状态(这也就是我们为什么会成其为状态机)。有时候在经过一些变换后我们想回到原来的状态,就像我们谈恋爱一样,换来换去还是感觉初恋好,怎么办?强大的openg…

    2022年4月9日
    49
  • vi/vim复制粘贴命令[通俗易懂]

    vi/vim复制粘贴命令[通俗易懂]1.选定文本块。使用v进入可视模式,移动光标键选定内容。2.复制的命令是y,即yank(提起),常用的命令如下:   y     在使用v模式选定了某一块的时候,复制选定块到缓冲区用;   yy   复制整行(nyy或者yny,复制n行,n为数字);   y^  复制当前到行头的内容;   y$   复制当前到行尾的内容;   yw  复制一个word(nyw或者ynw,复制n个word,n为数字);  

    2022年9月22日
    0
  • linux 没有root权限的用户安装GCC[通俗易懂]

    linux 没有root权限的用户安装GCC[通俗易懂]在Linux下,如果有root权限的话,使用sudoaptinstall就可以很方便的安装软件,而且同时也会帮你把一些依赖文件也给编译安装好。但是如果不是用的自己的机器,一般情况下是没有root权限的。所以就需要自己动手下载tar文件,解压安装。在安装中遇到的最大的问题是依赖的问题。手动下载编译GCC,首先下载tar文件,可以在这里下载https://ftp.gnu.org/gnu/gc…

    2022年5月26日
    33
  • 【BootCDN】前端使用开源免费的 CDN 加速服务

    【BootCDN】前端使用开源免费的 CDN 加速服务BootCDN-官网链接CDN的全称是ContentDeliveryNetwork,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。引用方式示例<scriptsrc=”…

    2025年7月26日
    0
  • 关于oracle的备份 导入[通俗易懂]

    关于oracle的备份 导入

    2022年1月19日
    54

发表回复

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

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