cglib动态赋值

项目的框架是 Sprinng + Spring mvc +Mybatis ,自己写了一套注解用于前台展示使用,由于延迟加载是cglib代理的,所以导致在获取对象中属性的注解服务获得,这个问题通过获得父类类型可以解决,
	boolean cglibObjFlag=BeanHelper.isCglibObject(targetObj);
		if(cglibObjFlag){
			fields=targetClass.getSuperclass().getDeclaredFields();
		}

还有一个问题,如果替换显示内容,查找资料后发现可以借助BeanMap工具类来实现
if(cglibObjFlag){
									BeanMap beanMap = BeanMap.create(targetObj);
									beanMap.put( field.getName(),isObj==true ?dictionaryPlatformDomain:dictionaryPlatformDomain.getColumn_content());
								}

写篇文章以便日后查询

猜你喜欢

转载自wangxingli.iteye.com/blog/2298473
今日推荐