spring加载外部properties配置文件

在配置spring的时候有些配置属性放到外部文件中进行管理或许更合理,这种情况一般是在配置数据源的时候,将数据源的配置信息保存在配置文件中,然后在spring中加载配置文件读取具体的值进行bean属性的注入,这样更有利于管理我们的配置信息。spring是通过一个以实现的实体bean来加载外部配置文件:org.springframework.beans.factory.config.PropertyPlaceholderConfigurer

一下是一个简单的实例:

配置文件database.properties:

url=192.168.7.10
username=root
password=123
otherattr=other

bean对象DataBaseConfig.java:

package cn.qing.spring.bean;

public class DataBaseConfig {
	private String url;
	private String username;
	private String password;
	private String otherattr;	
	@Override
	public String toString() {
		return "DataBaseConfig [url=" + url + ", username=" + username
				+ ", password=" + password + ", otherattr=" + otherattr + "]";
	}
	public String getUrl() {
		return url;
	}
	public void setUrl(String url) {
		this.url = url;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getOtherattr() {
		return otherattr;
	}
	public void setOtherattr(String otherattr) {
		this.otherattr = otherattr;
	}
	
	
}

Spring中的配置信息:

    
    	
    
    
    
    	
    	
    	
    	
    

测试代码:

ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
DataBaseConfig config = (DataBaseConfig)context.getBean("dataBaseConfig");
System.out.println(config.toString());
输出结果:

DataBaseConfig [url=192.168.7.10, username=root, password=123, otherattr=other]

以上DataBaseConfig类中的各个属性就是从外部配置文件中注入的。通过这样的方式,我们可以在spring容器启动时就加载一些必须的配置信息到对应的Bean对象中,然后再将这个bean注入到其他需要使用这些配置信息的bean中使用。

你可能感兴趣的:(spring学习)