Spring读取properties文件作为环境变量

在这个配置文件中,我们首先定义了类型为org.springframework.beans.factory.config.PropertyPlaceholderConfigurer的bean,这个bean用来将解析properties文件,spring可以使用此类,来将其他bean中类似EL表达式${abc}的值替换为配置文件的值。PropertyPlaceholderConfigurer类的locations属性是一个数组,也就是说可以指定多个配置文件。

 <!-- 定义Spring环境变量,通过读取外部的properties文件来实现  define envirement varibles -->
	<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" id="pphc">
        <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
        <property name="ignoreResourceNotFound" value="true" />
        <property name="locations">
            <list>
                <!-- standard config 
                	<value>classpath*:application.properties</value>
                -->
                <value>/WEB-INF/application.properties</value>
            </list>
        </property>
    </bean>
	
	<bean id="propertyTest" class="org.sam.test.DoggyTest">
        <property name="weight" value="${dog.weight}"/>
    </bean>
	

java代码如下:

package org.sam.test;

public class DoggyTest {

	private String weight;

	DoggyTest() {
		System.out.println("On init DoggyTest:" + this.weight);
	}

	public String getWeight() {
		return weight;
	}

	public void setWeight(String weight) {
		this.weight = weight;
		System.out.println("On setting DoggyTest:" + this.weight);
	}


}

refer to: http://outofmemory.cn/code-snippet/3681/spring-bean-with-properties

猜你喜欢

转载自dacoolbaby.iteye.com/blog/2047579