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

本文介绍如何使用Spring的BeanWrapper和BeanWrapperImpl来方便地修改和读取JavaBean的属性。示例中展示了如何设置和读取公司的名称以及雇员的工资。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 通过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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值