BeanUtilsExt.java 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package com.goafanti.common.utils;
  2. import org.apache.commons.beanutils.BeanUtils;
  3. import org.apache.commons.beanutils.ConvertUtils;
  4. import java.lang.reflect.Field;
  5. import java.lang.reflect.InvocationTargetException;
  6. import java.util.HashMap;
  7. import java.util.Map;
  8. public class BeanUtilsExt extends BeanUtils {
  9. private BeanUtilsExt() {
  10. }
  11. static {
  12. ConvertUtils.register(new org.apache.commons.beanutils.converters.DateConverter(null), java.sql.Date.class);
  13. ConvertUtils.register(new org.apache.commons.beanutils.converters.SqlDateConverter(null), java.util.Date.class);
  14. ConvertUtils.register(new org.apache.commons.beanutils.converters.SqlTimestampConverter(null), java.sql.Timestamp.class);
  15. ConvertUtils.register(new org.apache.commons.beanutils.converters.BigDecimalConverter(null) , java.math.BigDecimal.class);
  16. }
  17. public static void copyProperties(Object target, Object source) throws InvocationTargetException,
  18. IllegalAccessException {
  19. BeanUtils.copyProperties(target, source);
  20. }
  21. public static Map<String, Object> pushMap(Object in) {
  22. HashMap<String, Object> map = new HashMap<>();
  23. Class<?> clazz = in.getClass();
  24. for (Field field :clazz.getDeclaredFields()){
  25. field.setAccessible(true);
  26. try {
  27. if(field.get(in)!=null)map.put(field.getName(),field.get(in));
  28. } catch (IllegalAccessException e) {
  29. throw new RuntimeException(e);
  30. }
  31. }
  32. return map;
  33. }
  34. }