BeanMapper
一个BeanUtils.copyProperties的小型快速替代。
起因
由于BeanUtils(Spring或Apache Commons)的copyProperties实现是利用反射实现的,它在大量调用时具有比较严重的性能问题。
BeanMapper通过javassist类库实现在运行时直接生成字节码来转换类,在首次生成后,后续运行可以提供近原生的读写速度。
限制条件
类必须具有符合小驼峰规范的JavaBean setter和getter。否则无法正常访问类。
类必须是公共可见的,否则会发生访问错误。
效率
在10000000次复制测试中
BeanUtils.copyProperties用时9809毫秒
StaticBeanMapper.copy用时100毫秒(首次编译)+ 3633毫秒(后续10000000次调用)
BeanMapper.copy用时98毫
2023-01-12 11:30:28
65KB
Java
1