| | |
| | | package com.zy.asrs.common.utils; |
| | | |
| | | import com.zy.asrs.framework.exception.CoolException; |
| | | |
| | | import java.beans.BeanInfo; |
| | | import java.beans.Introspector; |
| | | import java.beans.PropertyDescriptor; |
| | | import java.lang.reflect.Method; |
| | | |
| | | /** |
| | | * Created by vincent on 2022/4/1 |
| | | */ |
| | | public class Synchro { |
| | | |
| | | public static void Copy(Object source, Object dest) { |
| | | try { |
| | | BeanInfo sourceBean = Introspector.getBeanInfo(source.getClass(),Object.class); |
| | | PropertyDescriptor[] sourceProperty = sourceBean.getPropertyDescriptors(); |
| | | BeanInfo destBean = Introspector.getBeanInfo(dest.getClass(),Object.class); |
| | | PropertyDescriptor[] destProperty = destBean.getPropertyDescriptors(); |
| | | for (PropertyDescriptor propertyDescriptor : sourceProperty) { |
| | | for (PropertyDescriptor descriptor : destProperty) { |
| | | if (propertyDescriptor.getName().equals(descriptor.getName()) && propertyDescriptor.getPropertyType() == descriptor.getPropertyType()) { |
| | | Method readMethod = propertyDescriptor.getReadMethod(); |
| | | Method writeMethod = descriptor.getWriteMethod(); |
| | | if (null != writeMethod && null != readMethod) { |
| | | writeMethod.invoke(dest, readMethod.invoke(source)); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | throw new CoolException("属性复制失败:" + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | } |
| | | package com.zy.asrs.common.utils;
|
| | |
|
| | | import com.zy.asrs.framework.exception.CoolException;
|
| | |
|
| | | import java.beans.BeanInfo;
|
| | | import java.beans.Introspector;
|
| | | import java.beans.PropertyDescriptor;
|
| | | import java.lang.reflect.Method;
|
| | |
|
| | | /**
|
| | | * Created by vincent on 2022/4/1
|
| | | */
|
| | | public class Synchro {
|
| | |
|
| | | public static void Copy(Object source, Object dest) {
|
| | | try {
|
| | | BeanInfo sourceBean = Introspector.getBeanInfo(source.getClass(),Object.class);
|
| | | PropertyDescriptor[] sourceProperty = sourceBean.getPropertyDescriptors();
|
| | | BeanInfo destBean = Introspector.getBeanInfo(dest.getClass(),Object.class);
|
| | | PropertyDescriptor[] destProperty = destBean.getPropertyDescriptors();
|
| | | for (PropertyDescriptor propertyDescriptor : sourceProperty) {
|
| | | for (PropertyDescriptor descriptor : destProperty) {
|
| | | if (propertyDescriptor.getName().equals(descriptor.getName()) && propertyDescriptor.getPropertyType() == descriptor.getPropertyType()) {
|
| | | Method readMethod = propertyDescriptor.getReadMethod();
|
| | | Method writeMethod = descriptor.getWriteMethod();
|
| | | if (null != writeMethod && null != readMethod) {
|
| | | writeMethod.invoke(dest, readMethod.invoke(source));
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | throw new CoolException("属性复制失败:" + e.getMessage());
|
| | | }
|
| | | }
|
| | |
|
| | | }
|