Lombok导致BeanUtils方法失效

项目中用到了Lombok,java bean看起来更简洁了,没有了一大堆的getter和setter,自动补充了equals、构造方法,toString等,但是一个致命的问题是导致了apache common-beanutils包里的setProperty和copyProperties方法失效,springframework包里的beanutils倒是ok,这就一下子搞的你不知道它会在哪里给你挖一个坑!还是手工补全getter和setter靠谱。

 

所以,基于目前的经验总结一下Lombok,也许说的不对:

优点:

  1. 代码简洁,少了一些没多大意义的getter和setter。(但是生成这些方法在eclipse里也就是按一下快捷键的问题,3秒钟都不要)
  2. 省事,toString这些方法要是自己写还是要花点时间

缺点:

  1. 强迫别人使用。你用了这个插件,那么所有人都要用,否则别人机器上编译不过,这个太扯淡了,你自己怎么high都可以,但是不能强迫别人啊
  2. 不知道哪里有坑。至少目前是common-beanutils-1.9.3会出问题。

如果只是想用toString,构造方法这些的,可以单独给java bean加上相应的注解,“@ToString”,“@AllArgsConstructor”,“@RequiredArgsConstructor” 等,

你可能感兴趣的:(java)