BeanUtils,不同 jar 包所埋的坑

简介: 背景   线上代码,两个地方使用了相同的copy 方式,但是执行的效果却完全不一样。 BeanUtils.copyProperties(invoiceMonth, invoiceMonthDTO); 问题描述 1、我们的项目使用了 String 包和 Apache 包两种,而这两个包都提供了...

背景

  线上代码,两个地方使用了相同的copy 方式,但是执行的效果却完全不一样。

BeanUtils.copyProperties(invoiceMonth, invoiceMonthDTO);

问题描述

1、我们的项目使用了 Spring 包和 Apache 包两种,而这两个包都提供了 BeanUtils 工具方法

2、看一下源码:

   1)、Apache 源码是,第一参数:dest;第二参数:source。


public static void copyProperties(Object dest, Object orig)
throws IllegalAccessException, InvocationTargetException {

BeanUtilsBean.getInstance().copyProperties(dest, orig);
}

   2)、Spring 源码是,第一参数:source;第二参数是 target。

public static void copyProperties(Object source, Object target) throws BeansException {
copyProperties(source, target, null, (String[]) null);
}

 

综上可以看出,两个开源包提供的工具类是有差异的,一不小心就会因为 jar 包的错误引入导致程序错误。

3、另外贴出集团规约:避免使用 apache BeanUtils

目录
相关文章
|
XML 缓存 Java
BeanUtils、BeanCopier、Dozer、Orika 哪家强?
背景 在分层的代码架构中,层与层之间的对象避免不了要做很多转换、赋值等操作,这些操作重复且繁琐,于是乎催生出很多工具来优雅,高效地完成这个操作,有BeanUtils、BeanCopier、Dozer、Orika等等,本文将讲述上面几个工具的使用、性能对比及原理分析。
966 0
BeanUtils、BeanCopier、Dozer、Orika 哪家强?
|
6月前
|
Java
SpringBoot Jar 包太大 瘦身 【初试】
SpringBoot Jar 包太大 瘦身 【初试】
47 0
|
Java Apache Spring
Spring BeanUtils 2、Cglib BeanCopier 3、Apache BeanUtils 4、Apache PropertyUtils 5、Dozer 那么,我们到底应该选择哪种工具类更加合适呢?为什么Java开发手册中提到禁止使用Apache BeanUtils呢
Spring BeanUtils 2、Cglib BeanCopier 3、Apache BeanUtils 4、Apache PropertyUtils 5、Dozer 那么,我们到底应该选择哪种工具类更加合适呢?为什么Java开发手册中提到禁止使用Apache BeanUtils呢
113 0
|
前端开发 Oracle 安全
丢弃掉那些BeanUtils工具类吧,MapStruct真香!!!
丢弃掉那些BeanUtils工具类吧,MapStruct真香!!!
3846 0
丢弃掉那些BeanUtils工具类吧,MapStruct真香!!!
|
Java Maven 开发工具
Maven - 生成的 jar 包容量变大异常排查
maven 打包 jar 包容量异常原因排查与解决。
970 0
Maven - 生成的 jar 包容量变大异常排查
|
Java 数据格式 XML
jar,war,ear区别及java基础杂七八
jar,war,earqu区别  这三种文件都可以看作是java的压缩格式,其实质是实现了不同的封装: jar--封装类war--封装web站点ear--封装ejb。它们的关系具体为:jar:      是java Achieve--按java格式压缩的类包,包含内容 class、properti...
997 0
|
7月前
|
Java
JavaSE,JavaEE和JavaME各是什么?
JavaSE,JavaEE和JavaME各是什么?
29 0
|
Java Apache Spring
Spring的BeanUtils有坑?可能是你用错了!
Spring的BeanUtils有坑?可能是你用错了!
112 0

热门文章

最新文章