Spring4中@value用法详解

版本:spring-framework-4.1


## 一、概述 为了简化读取properties文件中的配置值,Spring支持@Value注解的方式来获取,这种方式大大简化了项目的配置,业务中也提高了灵活性。
## 二、两种使用方法 1. @Value("#{configProperties['key']}") 2. @Value("${key}")
## 三、示例 ### 3.1 @Value("#{configProperties['key']}")使用 #### 3.1.1 applicationContext-value.xml ```

配置方法1:



classpath:value.properties


配置方法2:
<util:properties id="configProperties" location="classpath:value.properties"></util:properties>
注:和配置方法1等价,这种方法需要util标签,要引入util的xsd:
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.0.xsd"


#### 3.1.2 value.properties

key=1


#### 3.1.3 ValueDemo.java

@Component
public class ValueDemo {
@Value("#{configProperties['key']}")
private String value;

public String getValue() {
    return value;
}

}


#### 3.1.4 测试

@Test
public void testValue() {
BeanFactory beanFactory=new ClassPathXmlApplicationContext("applicationContext-value.xml");
ValueDemo valueTest=(ValueDemo)beanFactory.getBean("valueDemo");
System.out.println(valueTest.getValue());
}

结果打印:
1


</br>
### 3.2 @Value("${key}")使用
#### 3.2.1 applicationContext-value.xml
**方法一**:在3.1.1的基础上增加:
``` **方法二**:或者直接指定指定配置文件,完整配置如下: ```




classpath:value.properties



#### 3.2.2 value.properties

key=1


#### 3.2.3 ValueDemo.java

@Component
public class ValueDemo {
@Value("${key}")
private String value;

public String getValue() {
    return value;
}

}


#### 3.2.4 测试

@Test
public void testValue() {
BeanFactory beanFactory=new ClassPathXmlApplicationContext("applicationContext-value.xml");
ValueDemo valueTest=(ValueDemo)beanFactory.getBean("valueDemo");
System.out.println(valueTest.getValue());
}

结果打印:
1

  注:文章中难免有不足之处,欢迎评论、互动、指正。

作者: i-nine
原创不易,本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/ninth/p/6362530.html