12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- package com.diagbot.util;
- import org.springframework.cglib.beans.BeanMap;
- import org.springframework.cglib.beans.BeanGenerator;
- import java.util.Iterator;
- import java.util.Map;
- import java.util.Set;
- /**
- * @Description:
- * @Author:zhaops
- * @time: 2020/7/13 16:55
- */
- public class DynamicBean {
- private Object object = null; //动态生成的类
- private BeanMap beanMap = null; //存放属性名称以及属性的类型
- public DynamicBean() {
- super();
- }
- public DynamicBean(Map propertyMap) {
- this.object = generateBean(propertyMap);
- this.beanMap = BeanMap.create(this.object);
- }
- /**
- * @param propertyMap
- * @return
- */
- private Object generateBean(Map propertyMap) {
- BeanGenerator generator = new BeanGenerator();
- Set keySet = propertyMap.keySet();
- for (Iterator i = keySet.iterator(); i.hasNext(); ) {
- String key = (String) i.next();
- generator.addProperty(key, (Class) propertyMap.get(key));
- }
- return generator.create();
- }
- /**
- * 给bean属性赋值
- *
- * @param property 属性名
- * @param value 值
- */
- public void setValue(Object property, Object value) {
- beanMap.put(property, value);
- }
- /**
- * 通过属性名得到属性值
- *
- * @param property 属性名
- * @return 值
- */
- public Object getValue(String property) {
- return beanMap.get(property);
- }
- /**
- * 得到该实体bean对象
- *
- * @return
- */
- public Object getObject() {
- return this.object;
- }
- }
|