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


相关推荐

  • MAC OS X 系统怎么样?

    朝鲜的IT应用状况并不为外界所熟知,过去媒体纷纷报道,朝鲜已故领导人金正日酷爱苹果电子产品,而最近一份调查报告显示,在朝鲜个人电脑操作系统市场,苹果MACOSX系统位居第一名,遥遥领先微软

    2021年12月23日
    44
  • 51单片机汇编学习例程(17)——KeyPad4X4篇[通俗易懂]

    51单片机汇编学习例程(17)——KeyPad4X4篇[通俗易懂]​ASM17_KeyPad4X4:矩阵键盘,LCD1602显示按键值。(注意代码显示不全,最下面有Keil源码和Proteus工程)/*********************************************************************************@fileKeyPad.asm*@authorAlex——小白*@versionV1.0*@date2019.9.1*@brie.

    2022年5月18日
    34
  • Idea编译:Java找不到符号「建议收藏」

    Idea编译:Java找不到符号「建议收藏」在使用idea编译运行程序时,有时会出现‘Java找不到符号’的报错,一般可采取以下几种方法:1、选择相应的模块,使用maven的reloadproject2、重启idea3、设置统一的编码,一般为UTF-84、重新build5、经过以上操作依旧没有效,直接追溯报错的位置,发现是log,注释这行代码后重新编译,报错显示下面的log,因此基本判断出是日志这块儿的问题。日志我使用的是@Slf4j注解:lombok依赖使用的1.18.2版本<dependency>

    2022年7月9日
    259
  • 微信小程序:mpvue+flyio「建议收藏」

    微信小程序:mpvue+flyio「建议收藏」微信小程序:mpvue+flyiompvue项目创建1、全局安装vue-clinpminstall–globalvue-cli2、创建一个基于mpvue-quickstart模板的新项目vueinitmpvue/mpvue-quickstartmy-project//这是vue旧版本创建项目方法,如果init报错需要运行vueinit,创建项目过程中跟着命令行…

    2025年10月6日
    4
  • idea永久激活注册码【2021最新】

    (idea永久激活注册码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~0…

    2022年3月28日
    402
  • pycharm不联网能运行吗_pycharm连接调试器失败

    pycharm不联网能运行吗_pycharm连接调试器失败第一步:查看你的计算机是否安装了严密的防火墙,当你开始运行编写的网络程序时他都会发出警告并且禁止你的程序连接网络你要对防火墙进行配置,让他允许你的程序或者直接关闭防火墙(慎重考虑)如下图直接关闭防火墙或者对防火墙进行设置(只要选中这两个勾,在你执行的时候会提示你是否允许XXX连接网络)第二步:因为有些代码里面可能需要根据主机名称来去本地的DNS里找对应的IP地址,由于本地的DN…

    2022年8月27日
    7

发表回复

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

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