版本: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:
配置方法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的基礎上增加:
#### 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
