`

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

我在之前的项目中一直使用下面的格式注入:
 @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}”去注入。



详细配置:

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.
分享到:
评论

相关推荐

    基于Spring boot @Value 注解注入属性值的操作方法

    本篇文章将详细阐述`@Value`注解的使用方法,包括如何注入配置文件中的属性值以及如何利用SpEL(Spring Expression Language)进行动态注入。 ### 配置文件注入 1. **基本使用**:在`application.properties`或...

    static静态变量使用@Value注入方式.md

    通过上述分析和示例,我们可以看到,在Spring框架中,虽然不能直接使用`@Value`注解为静态变量注入值,但可以通过定义一个非静态方法并使用`@Value`注解来间接实现这一目标。这种方法不仅避免了潜在的警告和错误,还...

    Spring Boot技术知识点:如何理解@Value注解

    在Spring Boot框架中,`@Value`注解是Spring的核心组件之一,用于注入配置属性值到Bean中。这个注解提供了灵活的方式,让我们能够从不同的来源(如.properties或.yml文件,环境变量,命令行参数等)获取并注入值。...

    Springboot中@Value的使用详解

    在Springboot中,@Value注解广泛应用于将配置文件中的属性注入到Controller、Service、Configuration、Component等Spring托管的类中。下面是@Value注解的详细使用介绍: 1. 普通字符串注入 在配置文件中,我们可以...

    spring-demo13-注解-@Value.zip

    通过以上分析,我们可以看出"spring-demo13-注解-@Value.zip"项目旨在演示`@Value`注解的多种使用方式,包括从属性文件中读取值、使用SpEL表达式、注入不同数据类型以及提供默认值等。通过实际运行这个项目,开发者...

    Spring @Value注解失效问题解决方案

    在解决@Value注解失效的问题之前,我们需要对Spring的配置文件进行检查,确保配置文件正确无误。下面是一些常见的解决方案: 1. 检查properties文件的路径是否正确 2. 确认properties文件中的值是否正确加载 3. 在...

    Spring Boot系列四 Spring @Value 属性注入使用总结一

    Spring Boot系列四 Spring @Value 属性注入使用总结一

    SpringValue注解

    此外,@Value 注解还可以与 Spring 的依赖注入机制结合使用,实现松耦合的系统设计。 总结 本文介绍了 Spring Value 注解的使用方法和注意事项。@Value 注解是 Spring 框架中的一种重要注解,用于简化读取配置文件...

    Spring @value和@PropertySource注解使用方法解析

    Spring @Value 和 @PropertySource 注解使用方法解析 @Value 注解是 Spring 框架中用于将值注入到 Bean 中的注解。该注解可以用于注入基本字符串、EL 表达式、从配置文件读取数据等。例如,在上面的示例代码中,...

    spring中@value注解需要注意的问题

    当使用`#{configProperties['t1.msgname']}`这样的表达式时,Spring会从`t1.properties`文件中查找`t1.msgname`对应的值,并将其注入到`@Value`注解的目标字段或方法参数中。 2. `@Value("${t1.msgname}")` 这种...

    Spring Boot使用Value注解给静态变量赋值的方法

    Spring Boot 使用 Value 注解给静态变量赋值的方法 在 Spring Boot 框架中,我们经常需要将配置文件中的值注入到静态变量中,但是默认情况下,Spring Boot 不支持将值注入到静态变量中。这是因为静态变量是属于类的...

    Spring@Value属性注入使用方法解析

    Spring 框架中,@Value 注解是使用频率非常高的一种注解,它的作用是将配置文件中 key 对应的值赋值给它标注的属性。在日常使用中,我们常用的功能都比较简单,本篇文章系统的带大家来了解一下 @Value 的使用方法。...

    Springboot @Value获取值为空问题解决方案

    在 Springboot 框架中,使用 `@Value` 注解来获取配置值的类不能使用 `new` 关键字进行实例化对象,而必须采用依赖注入的方式进行实例化。如果我们使用 `new` 关键字来实例化对象,那么 `@Value` 注解将无法获取配置...

    示例代码-SpringBoot踩坑记录:玩转@Value注解-自定义PropertySourcesPlaceHolderConfigurer.zip

    在Spring Boot应用中,`@Value`注解是开发者经常使用的工具,用于注入配置属性值。这个注解可以从`application.properties`或`application.yml`等配置文件中读取值,并将其注入到字段、方法参数或者构造函数参数中。...

    属性赋值@Value1

    在Java Spring框架中,`@Value`注解是用于注入属性值的一个重要工具,它可以从配置文件、表达式语言(SpEL)或者属性源中获取值,并将其赋值给bean的字段、方法或方法/构造函数参数。这个注解使得程序更加灵活,不...

    详解Spring通过@Value注解注入属性的几种方式

    本文将详细介绍通过`@Value`注解注入属性的几种常见方式。 ### 1. 基于属性文件注入 #### 1.1 `PropertyPlaceholderConfigurer` 当需要从属性文件(如`dev.properties`)中读取值时,可以使用`...

    (转)Spring 3.0 注解注入详解

    首先,注解注入允许我们通过在类的字段或方法上使用特定的注解来声明依赖关系,而不是在XML配置文件中进行声明。主要的注解包括`@Autowired`、`@Qualifier`、`@Required`和`@Value`等。 1. **@Autowired**:这是...

    Spring@Autowired注解与自动装配.rar

    - **自动装配候选列表**:可以使用`@Autowired`注解的`@Qualifier`注解的`value`属性,提供一个bean的名称列表,Spring会尝试从列表中找到匹配的bean。 ### 4. 配置控制 - **@Autowired注解的可选性**:使用`...

    day38 17-Spring的Bean的属性注入:注解方式

    在源码层面,Spring使用`BeanPostProcessor`接口处理注解注入。当容器初始化Bean时,会遍历所有Bean,寻找实现了`BeanPostProcessor`接口的类,调用其`postProcessBeforeInitialization`和`...

    spring注解 -----最简单的注解与自动装配例子

    除了@Autowired,Spring还提供了@Value注解,它能注入基本类型的值或者从配置文件中读取的属性值。例如: ```java @Configuration public class AppConfig { @Value("${database.url}") private String dbUrl; } ...

Global site tag (gtag.js) - Google Analytics