一个对象实例化后从spring容器取出放在bean对象中,写出获取它的属性的set方法

思路:可以用java的内省获取bean的属性描述器ps(bean的全部属性),若其中属性pd(ps中的一个)和从配置文件解析出的bean的某个属性相等,则Method method=pd.getWriteMethod( ),那么这个method就是那个属性的set方法
 
PropertyDescriptor[] ps = Introspector.getBeanInfo(bean.getClass()).getPropertyDescriptors();
for(PropDef propDef : beanDef.getPropertys()){ //beanDef是我们昨天设计出用来存放解析bean的list
   for(PropertyDescriptor pd : ps){
  if(propDef.getName().equals(pd.getName())){//PropDef是我们昨天设计出用来存放bean下面的property的 list
   Method setter = pd.getWriteMethod();//获取属性的setter方法 ,p
   Object value = map.get(proDef.getRef());
   setter.invoke(bean, value);//把引用对象注入到属性
  }
 }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值