Spring Bean包装类案例之修改,获取bean属性

 通过Bean的封装类BeanWrapper和BeanWrapperImpl,可以很方便的对javabean就行修改,读取

javabean:

 

package  Bean.BeanWrapperOne;

public   class  Company  ... {
   
private String name;
   
private Employee director;
public Employee getDirector() ...{
    
return director;
}

public void setDirector(Employee director) ...{
    
this.director = director;
}

public String getName() ...{
    
return name;
}

public void setName(String name) ...{
    
this.name = name;
}

   
}



package  Bean.BeanWrapperOne;

public   class  Employee  ... {
   
private String name;
   
private float salary;
public String getName() ...{
    
return name;
}

public void setName(String name) ...{
    
this.name = name;
}

public float getSalary() ...{
    
return salary;
}

public void setSalary(float salary) ...{
    
this.salary = salary;
}

}


测试代码:

 

package  Bean.BeanWrapperOne;

import  org.springframework.beans.BeanWrapper;
import  org.springframework.beans.BeanWrapperImpl;
import  org.springframework.beans.PropertyValue;

public   class  Test  ... {
   
public static void main(String args[])...{
       Company c
=new Company();
       
//以某个bean为参数,创建BeanWrapper实例
       BeanWrapper bwComp=new BeanWrapperImpl(c);
       
//通过BeanWrapper设置公司名
       bwComp.setPropertyValue("name","IBM");
       System.out.println(
"通过BeanWrapper设置的公司名为:"+c.getName());
       System.out.println(
"通过BeanWrapper读取公司名为:"+bwComp.getPropertyValue("name"));
       
//另一个设置属性的方式
       PropertyValue v=new PropertyValue("name","HP");
       bwComp.setPropertyValue(v);
       System.out.println(
"通过BeanWrapper设置的公司名为:"+c.getName());
       System.out.println(
"通过BeanWrapper读取公司名为:"+bwComp.getPropertyValue("name"));
       
       
//通过BeanWrapper设定雇员
       Employee em=new Employee();
       BeanWrapper bwEm
=new BeanWrapperImpl(em);
       bwEm.setPropertyValue(
"name","scott");
       bwComp.setPropertyValue(
"director",em);
       
       em.setSalary(
1000);
       
       
//通过公司获得雇员工资,直接读取属性
       Float salary=(Float)bwComp.getPropertyValue("director.salary");
       System.out.println(
"雇员工资为:"+salary.toString());
      
   }

}


|运行结果:

通过BeanWrapper设置的公司名为:IBM
通过BeanWrapper读取公司名为:IBM
通过BeanWrapper设置的公司名为:HP
通过BeanWrapper读取公司名为:HP
雇员工资为:1000.0



你可能感兴趣的:(spring,c,bean,IBM,HP)