南京建设网站,黑白网站设计,广东建设监理协会网站,dw如何制作表格网页Lombok在Java生态系统中并不是什么新鲜事物#xff0c;但是我必须承认#xff0c;直到我尝试使用它或被“确信”尝试它之前#xff0c;我总是低估了它的价值。 我发现添加一个库来生成代码的价值并不高#xff0c;这些库可以被当今的任何现代IDE轻松生成。 因此#xff0c… Lombok在Java生态系统中并不是什么新鲜事物但是我必须承认直到我尝试使用它或被“确信”尝试它之前我总是低估了它的价值。 我发现添加一个库来生成代码的价值并不高这些库可以被当今的任何现代IDE轻松生成。 因此我忽略了该库并且一直在编写或生成大量样板代码。 不再。 2016年我加入了一个基于Spring的项目其中Lombok项目已经到位。 从那时起我就再也没有Lombok了……为什么 那么Lombok到底是什么 简而言之Lombok是一个Java库通过插入IDE和构建工具可以为开发人员生成大量代码。 例如 [Data](https://projectlombok.org/features/Data)向POJO添加getters setters equals hashCode和toString方法之外还可以使用单个[Data](https://projectlombok.org/features/Data)注释。 诸如Gradle或Maven之类的构建工具支持不会带来问题 Lombok与Gradle毫无问题。 您在Lombok上添加了compileOnly依赖关系基本上就是这样 compileOnly (org.projectlombok:lombok:${lombokVersion}) 尽管我主要处理与Spring相关的项目而且最近它们都基于Gradle但我也没有遇到过Maven的任何问题。 IntelliJ支持足够好 我每天都在与IntelliJ合作它对Lombok的支持效果很好。 第三方插件支持Lombok https : //github.com/mplushnikov/lombok-intellij-plugin 。 插件的配置非常简单您需要为项目启用Lombok插件和注释处理。 当然Lombok必须在类路径中。 配置项目后您可以开始导入Lombok批注并立即在源代码中开始使用它们。 我没有注意到IntelliJ中代码完成的问题。 我没有发现任何延迟或功能缺失。 当我想为生成的方法显示代码定义时它向我显示了Lombok批注-很好-尽管可以看到生成的代码但会很好。 不利的一面是有时会发生代码无法立即使用的情况因此需要执行手动编译。 就我而言这真的很少见。 启用Lombok后无法直接从代码编辑器访问某些功能。 例如使用Builder批注时会生成许多代码包括builder类。 要查找某些构建器方法的用法您需要从“ 结构”视图中执行此操作。 在生成的代码中无法按名称导航到符号但这似乎不是问题使用Lombok时您知道生成的代码与某些类相关。 例如 UserBuilder与User类相关因此您可以跳到User中查看其构建器如果确实需要。 总而言之在IntelliJ上每天都没有显示停止器。 阅读代码更容易 使用Lombok的主要优点之一是所需读取的代码更少。 这在代码审查期间非常有用–我打开类然后立即查看它是否是Value Data类或Value对象如果它提供了Builder等。尽管Lombok在源代码中需要更多注释Lombok批注JPA批注Jackson批注Spring批注...它仍然使代码更简洁更易于阅读/查看。 Lombok使一些团队实践标准化 例如在我开始使用Lombok之前在每个项目中都有几种创建构建器的方法。 使用Lombok可以更轻松地维护这些做法 Builder和Singularity 。 Lombok与其他库配合良好 我没有遇到JPA或Jakson注释与Lombok注释混合的问题。 不过我过去曾听说过有关MapStruct和Lombok的问题但现在似乎已解决 https://github.com/mapstruct/mapstruct/issues/510 Lombok批注可以轻松地与Spring组件一起使用因此创建时所需的代码更少。 例如AllArgsConstructor可用于注入bean的依赖项因为Spring不需要使用Autowire注释构造函数 Service
RequiredArgsContructor
class SomeService {private final Dep1 dep1;private final Dep2 dep2;
} 值得注意的是Spring Boot Initializer http://start.spring.io/ 在生成的项目文件中提供了Lombok依赖性要添加到新项目的核心依赖性之一。 考虑将Lombok用于您的下一个项目 Lombok是一个很棒的库可以加快开发速度使代码更简洁更易于阅读和维护。 Lombok似乎足够成熟可以尝试一下。 即使您决定仅将其用于简单案例也可以为您的项目带来很多价值。 信不信由你但是直到我尝试了几个星期我对Lombok都非常怀疑。 翻译自: https://www.javacodegeeks.com/2017/09/lombok-definitely-give-try.html