通常咱們對於給Spring的bean進行使用properties文件的配置,使用以下的方式:java
<?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"> <context:property-placeholder location= "classpath:props/myPropFile.properties" ignore-unresolvable= "true" /> <!-- sample bean --> <bean id= "sampleBean" class= "your.package.SampleClass" > <property name ="myProp" value= "${prop.in.propfile}" /> </bean> </beans>
而後在SampleClass
中實現myProp
的定義和setter。
這樣在兩個地方寫來寫去以爲略有麻煩,容易產生問題。
在Spring 3.0以上能夠用註解的方式略掉spring配置文件中相關的配置了。
配置中加入:spring
<beans xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd"> </beans>
再加入一個配置beanspa
<util:properties id="propsConfig" location="classpath:props/config.properties" />
這樣,在用到的地方能夠直接code
@Value("#{propsConfig['my.config.string']}") private String needToConfig;
配置文件config.properties
中能夠寫成xml
my.config.string=configuredString
相似的樣子。這樣省掉了setter,在一處配置與使用,要方便點。string