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());
								}

写篇文章以便日后查询

你可能感兴趣的:(java,cglib)