与Eclipse中的代码模板/代码生成相比,Project Lombok能提供什么好处吗?是否有任何缺点(除了包括.jar)?Project Lombok与Eclipse模板/代码生成
13
A
回答
21
Lombok的一个优点是,一旦你用@Data注释标注了一个类,当你进行修改时,你永远不需要重新生成代码。例如,如果添加一个新字段,@Data将自动在equals,hashCode和toString方法中包含该字段。使用Eclipse生成的方法时,您需要手动进行更改。有些时候,你可能更喜欢手动控制,但在大多数情况下,我预计不会。
4
很少会想到:
- 它是基于注释,因此没有良好的传统项目仍处于前期Java5中(delombok可以帮助)。实际上,它需要使用javac v1.6编译器。
- 它仍然有局限性regarding multiple constructors
的依赖问题不应被忽视,虽然,但你已经从你的问题排除它。
12
6
优点:
- 非常容易使用
类是更清洁( '没有样板代码'),尤其是“struct'状内部类收缩到最低限度:
@Data private class AttrValue { private String attribute; private MyType value; }
这将同时创建getter和setter,toString()和包含这两个变量的正确hash()/ equals()方法。 与
@Value
的变体创建一个不可变的结构(没有setters,所有字段final)。- 无需生成/当你改变字段(getter方法,setter方法,的toString,哈希,等于)
- 用手工编码的方法无干扰删除代码:在需要的地方,你自己特定的二传手只需添加到类。龙目岛跳过这一点,并产生一切
缺点:
- 没有名字的重构,但:以上重命名
value
会(还)没有重命名getValue()
和setValue()
- 月减慢ecplise略有
toString
输出不如从Apache公共ToStringBuilder输出不错
0
Eclipse的EMF提供了一些功能,这是非常方便的,其Lombock还不支持:
- 强大通知mechanims得到了解发生在你的情况下
- 没有Java反射通用的API。访问和修改实例时没有强烈参考类型
- 基于命令和API的编辑
- 模型之间的交叉引用:创建并加载模型树,EMF通过为交叉引用创建代理来处理加载。这样可以节省巨大的域树
- 还有更多的内存和提升性能...
相关问题
- 1. C代码生成模板
- 2. Groovy模板 - 代码生成
- 3. 休眠工具代码自动生成模板eclipse
- 4. Eclipse UML插件与Java代码生成
- 5. 的Eclipse代码生成与纸莎草
- 6. Eclipse:默认代码模板
- 7. T4模板 - 适合生成C++代码?
- 8. Web引用代码生成模板
- 9. vim动态生成代码模板
- 10. Eclipse中的代码生成
- 11. Eclipse代码模板:插入剪贴板?
- 12. Project Lombok @ Slf4j外部配置
- 13. 蚂蚁basedir和eclipse .project文件生成
- 14. Lombok Eclipse Eclipse问题
- 15. 亚音速MVC模板和代码生成
- 16. 如何使Eclipse代码模板如此?
- 17. 使用COBOL Eclipse代码模板
- 18. 如何为eclipse编写代码模板?
- 19. 简单的Eclipse代码模板 - 问题
- 20. 插入书签的Eclipse代码模板?
- 21. Eclipse中的动态代码模板?
- 22. 代码生成器与代码重构
- 23. 使用Lombok生成Java getter/setter以获得带注释的代码
- 24. 简单的映射器模式C#代码生成模板
- 25. EF 4.1模型第一代码生成工具或模板
- 26. 与生成动态代码
- 27. GPU代码生成与MATLAB
- 28. 如何在spring roo中更改代码生成/模板
- 29. Eclipse插件中的代码生成
- 30. 在Eclipse中从XML生成Java代码
目前,只有运行时需要的jar如果使用@SneakyThrows。对于所有其他功能,您只需在构建时使用该jar。 – 2010-04-12 08:35:52
看起来非常像SpringRoo,但更简单。 – 2010-10-26 15:58:01