当柳上原的风吹向天际的时候...

真正的快乐来源于创造

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks
在Spring的Bean装配文件中配置组件是合适的,但类似于数据库细节,队列主题细节等应该分离出来,这时我们可以使用Spring的PropertyPlaceholderConfigurer从外部属性文件中装载一些配置信息,使用起来很简单,请参考下例:
http://www.blogjava.net/Files/heyang/SpringProperties20090926133054.rar

注意加入必要的包:commons-logging-1.0.4.jar,log4j-1.2.14.jar,spring.jar

两个配置的内容:
person1.properties
person1.id=001
person1.name
=Andy
person1.password
=123456

person2.properties
person2.id=002
person2.name
=Bill
person2.password
=111111

Bean装配文件的内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
    
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        
<property name="locations">
            
<list>
                
<value>person1.properties</value>
                
<value>person2.properties</value>                
            
</list>
        
</property>
    
</bean>
    
<bean id="person1" class="com.heyang.Person" >    
        
<property name="id">
            
<value>${person1.id}</value>
        
</property>
        
<property name="name">
            
<value>${person1.name}</value>
        
</property>
        
<property name="password">
            
<value>${person1.password}</value>
        
</property>
    
</bean>
    
    
<bean id="person2" class="com.heyang.Person" >    
        
<property name="id">
            
<value>${person2.id}</value>
        
</property>
        
<property name="name">
            
<value>${person2.name}</value>
        
</property>
        
<property name="password">
            
<value>${person2.password}</value>
        
</property>
    
</bean>
 
</beans>

Person类:
public class Person{
    
private String name;
    
private String id;
    
private String password;
    
    
public String toString(){
        
return "Person id="+id+" name="+name+" password="+password;
    }
    
    
public String getId() {
        
return id;
    }
    
public void setId(String id) {
        
this.id = id;
    }
    
public String getName() {
        
return name;
    }
    
public void setName(String name) {
        
this.name = name;
    }
    
public String getPassword() {
        
return password;
    }
    
public void setPassword(String password) {
        
this.password = password;
    }
    
    
public static void main(String[] args){
        ApplicationContext appContext 
= new ClassPathXmlApplicationContext("bean.xml");
        
        Person person1
=(Person)appContext.getBean("person1");
        System.out.println(person1);
        
        Person person2
=(Person)appContext.getBean("person2");
        System.out.println(person2);
    }
}

控制台输出:
Person id=001 name=Andy password=123456
Person id
=002 name=Bill password=111111

posted on 2009-09-26 13:34 何杨 阅读(841) 评论(0)  编辑  收藏