`

lombok 使用及原理

 
阅读更多

org/projectlombok/lombok/1.14.8/lombok-1.14.8.jar!/lombok

 

lombok.Getter

lombok.Setter

lombok.Data

lombok.ToString

 

lombok.extern.log4j.Log4j

lombok.extern.slf4j.Slf4j

 

还有很多,自己挖掘

 

   <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.14.8</version>
      <scope>provided</scope>
   </dependency>

 

lombok工作原理分析,以Oracle的javac编译工具为例。
自从Java 6起,javac就支持“JSR 269 Pluggable Annotation Processing API”规范,只要程序实现了该API,就能在javac运行的时候得到调用。
举例来说,现在有一个实现了"JSR 269 API"的程序A,那么使用javac编译源码的时候具体流程如下:
1)javac对源代码进行分析,生成一棵抽象语法树(AST)
2)运行过程中调用实现了"JSR 269 API"的A程序
3)此时A程序就可以完成它自己的逻辑,包括修改第一步骤得到的抽象语法树(AST)
4)javac使用修改后的抽象语法树(AST)生成字节码文件

 

支持lombok的编译工具
1)由“三、原理分析”可知,Oracle javac直接支持lombok
2)常用的项目管理工具Maven所使用的java编译工具来源于配置的第三方工具,如果我们配置这个第三方工具为Oracle javac的话,那么Maven也就直接支持lombok了
3)Intellij Idea配置的编译工具为Oracle javac的话,也就直接支持lombok了。
4)Eclipse中使用的不是Oracle javac这个编译工具,而是自己实现的Eclipse Compiler for Java (ECJ).要想使ECJ支持lombok,得进行设置,具体是在Eclipse程序目录中的eclipse.ini文件中添加如下两行设置:
-javaagent:[lombok.jar所在路径]
-Xbootclasspath/a:[lombok.jar所在路径]

 

 

分享到:
评论

相关推荐

    Lombok使用讲解及原理1

    下面我们将深入探讨 Lombok 的主要注解及其使用场景。 首先,Lombok 提供的 `val` 注解允许你声明一个局部变量为 final,这在你需要确保变量值不会被改变的情况下非常有用。 `@NonNull` 注解用于方法参数,当检测...

    lombok 实现原理(代码)

    下面我们将深入探讨Lombok的实现原理。 1. 注解处理器(Annotation Processor) Lombok的机制基于Java的注解处理API(JSR 269)。当你在类上使用Lombok的注解(如`@Data`、`@Getter`、`@Setter`等)时,这些注解并...

    lombok.jar;lombok.jar

    因此,团队中使用Lombok时应达成一致,确保所有成员都熟悉其工作原理。 总的来说,Lombok是一个强大的工具,能够显著提升Java开发效率,减少样板代码,使代码更易于阅读和维护。只要合理使用并理解其背后的机制,就...

    lombok 1.18.24

    - 学习成本:初学者需要理解 Lombok 的工作原理和用法。 - 代码可读性:不熟悉 Lombok 的人可能会对注解的含义感到困惑。 - IDE 支持:虽然大多数流行 IDE 都有 Lombok 支持,但不支持时可能需要额外配置。 - ...

    lombok-plugin-0.28-2018.3.zip

    10. **学习和调试**:了解 Lombok 的工作原理对于高效使用和调试代码很有帮助。你可以通过查看生成的字节码或者启用 IDE 的“Show Generated Sources”功能来查看 Lombok 生成的代码。 总的来说,Lombok 和它的 IDE...

    lombok插件.zip

    总之,Lombok是Java开发中的一大利器,它可以减少重复代码,提高开发效率,但同时也需要开发者对其原理有深入了解,以便在项目中合理运用。通过离线安装的方式,开发者可以在没有网络的环境下也能轻松地在Eclipse中...

    lombok.rar

    8. **模块化系统**:"module-info.SCL.lombok"可能是Lombok的模块描述文件,用于Java 9及更高版本的模块化系统。这有助于在大型项目中管理依赖关系和类路径。 总的来说,Lombok是一个强大的工具,能够有效地提升...

    lombok-plugin插件包

    总的来说,Lombok-plugin 插件包是 IntelliJ IDEA 开发者使用 Lombok 进行高效开发的得力助手,它极大地提升了编码效率和代码整洁度,但同时也需要开发者理解其工作原理,以便在适当的时候做出正确的选择。

    lombok-1.18.12.jar

    6. **最佳实践**:在团队项目中使用Lombok时,需要确保所有成员都了解其工作原理,以避免因不熟悉而引入的问题。同时,注解的使用应遵循一致性原则,避免在代码中混用Lombok和手动编写的getter、setter等方法。 7. ...

    lombok-plugin-0.16.zip

    因此,团队在决定使用Lombok之前,应当统一编码规范,并确保所有开发者都了解Lombok的工作原理。此外,Lombok并不兼容所有第三方库,所以在大型项目中使用前,应确保其与项目的其他依赖库能够良好协作。 总的来说,...

    android-retrolambda-lombok,lombok ast的一个修改版本,允许lint在java 8源代码上运行而不出错。.zip

    Lombok的工作原理是在编译时通过Java的注解处理器(Annotation Processor)动态生成这些方法,避免了手动编写和维护这些常见但无趣的代码。 **Android Retrolambda与Lombok的结合** 标题中提到的“lombok ast的一...

    lombok.jar

    - 需要确保所有使用Lombok的开发人员都了解其工作原理,避免因不理解而产生的误解。 ### 3. 示例代码 ```java import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; @Data @...

    lombok jar包.zip

    - 使用Lombok可能会对团队成员的熟悉度提出要求,需要确保所有开发者都了解其工作原理和用法。 - 在进行代码审查或单元测试时,需要注意Lombok生成的方法是否满足预期。 总的来说,Lombok通过自动化生成常见的...

    lombok资源包

    **Lombok资源包详解** ...在理解其工作原理和使用场景后,适当引入Lombok能够提升代码质量,使代码更加简洁优雅。但在使用过程中也需要注意其潜在的局限性,合理地与项目中的其他技术和框架配合。

    lombok插件

    总的来说,Lombok是一个强大的工具,能够极大地提高开发效率,减少代码冗余,但也需要开发者了解其工作原理和限制,以避免可能出现的问题。合理地使用Lombok,可以使代码更专注于业务逻辑,而不是繁琐的样板代码。

    lombok-1.16.16

    Lombok 是一个 Java 库,它通过注解处理器在编译时自动插入代码,从而减少了在数据类中常见的样板代码,比如 getter、setter、equals...因此,在使用 Lombok 时,应确保团队成员都熟悉其工作原理,并合理配置开发环境。

    idea lombok插件

    - **学习曲线**:对于不熟悉Lombok的团队成员,可能需要花时间学习和理解其工作原理。 总的来说,Idea Lombok插件是Java开发中一个非常实用的工具,它可以极大地提升开发效率,优化代码结构,帮助我们专注于核心...

    安装lombok所用到的Jar包.zip

    每个IDE的安装方法略有不同,但基本原理相似,都是将Lombok的库添加到IDE的插件或扩展目录。 总之,Lombok通过注解简化了Java编程,减少了样板代码,提高了代码的可读性和整洁性。在Eclipse中正确安装和配置Lombok...

    lombok插件的多个版本的jar包

    在使用Lombok时,应确保团队成员都熟悉其工作原理,以避免出现不必要的困惑。 7. **Lombok的局限性**:Lombok并不适用于所有的场景,比如静态工厂方法、枚举类型、不可变类等。此外,对于需要自定义行为的getter和...

Global site tag (gtag.js) - Google Analytics