一个基于cglib的bean copy方法

需要guava和cglib:

@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class BeanUtils {

  private static final Table<Class<?>, Class<?>, BeanCopier> COPIER_TABLE = Tables.synchronizedTable(HashBasedTable.create());

  public static <T> T copy(T a, T b) {
    BeanCopier copier = COPIER_TABLE.get(a.getClass(), b.getClass());
    if (copier == null) {
      copier = BeanCopier.create(a.getClass(), b.getClass(), false);
      COPIER_TABLE.put(a.getClass(), b.getClass(), copier);
    }
    copier.copy(a, b, null);
    return b;
  }

}

 

posted @ 2024-05-21 23:15  Jackie_JK  阅读(10)  评论(0编辑  收藏  举报