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

本文深入解析了在Spring MVC中使用@Value注解从.properties配置文件注入属性的方法,包括如何配置ApplicationContext、建立配置文件以及在Controller中使用注解获取配置项内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

[color=red]controller读取不到的原因[/color]: [url]http://cdn.verydemo.com/demo_c143_i7726.html[/url]

我在之前的项目中一直使用下面的格式注入:
 @Value("#{config['redis.host']}")
private String redisHost;

使用下面的方式注入总是不成功。
 @Value("${redis.host}")
private String redisHost;

最近终于发现,扫描配置文件的语句:
<context:property-placeholder location="classpath*:/xxx.properties" />

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


[color=red][b]
详细配置:[/b][/color]
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="[color=red][b]propertyConfigurer[/b][/color]" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
9 <property name="properties" ref="configProperties" />
10 </bean>
第二步:

建立配置文件内容:

例如:userPageSize=5

第三步:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值