BeanUtil.java 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package com.emato.ccnet.wx.util;
  2. import org.apache.commons.beanutils.BeanUtils;
  3. import java.lang.reflect.Field;
  4. import java.lang.reflect.InvocationTargetException;
  5. /**
  6. *
  7. * @author liqigui
  8. *
  9. */
  10. public class BeanUtil {
  11. /**
  12. * 把object1中属性付给object2
  13. *
  14. * @param object1
  15. * @param object2
  16. * @throws Exception
  17. * @throws Exception
  18. */
  19. public static void copy(Object object1, Object object2) {
  20. Class<? extends Object> class1 = object1.getClass();
  21. takeClazzCopy(class1, object1, object2);
  22. }
  23. private static void takeClazzCopy(Class<? extends Object> cla_ss, Object object1, Object object2) {
  24. Field[] declaredFields2 = cla_ss.getDeclaredFields();
  25. for (Field field : declaredFields2) {
  26. field.setAccessible(true);
  27. Object object = null;
  28. try {
  29. object = field.get(object1);
  30. } catch (IllegalArgumentException | IllegalAccessException e1) {
  31. e1.printStackTrace();
  32. }
  33. if (object != null) {
  34. try {
  35. BeanUtils.setProperty(object2, field.getName(), object);
  36. } catch (IllegalAccessException e) {
  37. e.printStackTrace();
  38. } catch (InvocationTargetException e) {
  39. e.printStackTrace();
  40. }
  41. }
  42. }
  43. if (cla_ss.getSuperclass() != Object.class) {
  44. takeClazzCopy(cla_ss.getSuperclass(), object1, object2);
  45. }
  46. }
  47. /**
  48. * 把空字符串设为null, trim 字符串
  49. *
  50. * @param clazz
  51. * @param entity
  52. */
  53. public static void trimString(Class<?> clazz, Object entity) {
  54. Field[] fields = clazz.getDeclaredFields();
  55. for (Field field : fields) {
  56. field.setAccessible(true);
  57. if (field.getType() == String.class) {
  58. try {
  59. Object obj = field.get(entity);
  60. if (obj != null) {
  61. if (obj.toString().trim().length() == 0) {
  62. field.set(entity, null);
  63. }
  64. }
  65. } catch (IllegalArgumentException | IllegalAccessException e) {
  66. e.printStackTrace();
  67. }
  68. }
  69. }
  70. }
  71. }