`
lp895876294
  • 浏览: 279791 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

lombok介绍及使用

    博客分类:
  • JAVA
 
阅读更多

Lombok的maven依赖:

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

 

Lombok介绍原文:http://www.iteye.com/topic/1113871

关于Lombok这个东西,论坛里已经有人介绍过,我也是通过别人帖子了解到这个小工具:

http://www.iteye.com/topic/798305

不过作者以免写Getter/Setter为题来介绍Lombok的优势,看了后面的评论之后,觉得这个工具意义不大.

后来在博客在线看到一篇文章,期中提到了Lombok工具.这个工具已经被国外创业者所使用,随之对其产生了很浓厚的兴趣.

<Java开源建站工具>http://www.jobbole.com/entry.php/1233

 

关于如何介绍Lombok这个工具,自己想了半天,觉得实在比不过作者在首页提供的视频介绍:

http://projectlombok.org/

 

ok~ 写了这么多Lombok到底是什么东西,他具体能带来什么便利呢?

Lombok主要是提供一套注解,根据注解在编译时生成相关代码,目前提供如下注解:

 

 

@Getter / @Setter永远不用再写 public int getFoo() {return foo;}.@Getter(lazy=true)Laziness is a virtue!@ToString
Lombok会根据field自动生成toString 方法,这个对调试来说很方便! 这个注解生成的toString格式:

 

Java代码  收藏代码
  1. LombokUser(id=001, name=wity_lv, email=wity_lv@sample.com)  

 

 

@EqualsAndHashCode生成 hashCode and equals 方法.@NoArgsConstructor@RequiredArgsConstructor and @AllArgsConstructorConstructors made to order: Generates constructors that take no arguments, one argument per final / non-null field, or one argument for every field.@DataAll together now: A shortcut for @ToString@EqualsAndHashCode@Getter on all fields, and @Setter on all non-final fields, and @RequiredArgsConstructor!@CleanupAutomatic resource management: Call your close() methods safely with no hassle.@Synchronizedsynchronized done right: Don't expose your locks.@SneakyThrowsTo boldly throw checked exceptions where no one has thrown them before!@Log支持多种Log工具, 我平时用@Log4j注解valFinally! Hassle-free final local variables.@DelegateDon't lose your composition.

如何使用?

1. 从项目首页下载lombok.jar

2. 双击lombok.jar, 将其安装到eclipse中(该项目需要jdk1.6+的环境)


 

3. 将Lombok.jar添加到classpath中

4.  编码看看:

 

项目结构:


 

 

Java代码  收藏代码
  1. package lv.sample.lombok;  
  2.   
  3. import lombok.AllArgsConstructor;  
  4. import lombok.Data;  
  5. import lombok.NoArgsConstructor;  
  6. import lombok.extern.log4j.Log4j;  
  7.   
  8. @Data  
  9. @NoArgsConstructor  
  10. @AllArgsConstructor  
  11. @Log4j  
  12. public class LombokUser {  
  13.       
  14.     private String id = null;  
  15.     private String name = null;  
  16.     private String email = null;  
  17.       
  18.     public static void main(String[] args) {  
  19.         log.info("test the lombok bean");  
  20.           
  21.         LombokUser u = new LombokUser("001""wity_lv""wity_lv@sample.com");  
  22.         System.out.println(u.toString());  
  23.           
  24.         LombokUser u2 = new LombokUser("001""wity_lv""wity_lv@sample.com");  
  25.         System.out.println(u.equals(u2));  
  26.     }  
  27. }  

 
 console out 写道

2011-08-24 11:57:36 test the lombok bean
2011-08-24 11:57:36 LombokUser(id=001, name=wity_lv, email=wity_lv@sample.com)
2011-08-24 11:57:36 true

 

What is happenning???

使用javap看看编译后的代码:


在eclipse outline中显示的结构

 


 

 

lombok安装过程如下(原文:http://wsj356428476.iteye.com/blog/1655032):

1、下载Lombok.jar http://projectlombok.googlecode.com/files/lombok.jar 
2、运行Lombok.jar: java -jar  D:\001_software\work\Java\libs\lombok.jar 
        数秒后将弹出一框,以确认eclipse的安装路径 
3、确认完eclipse的安装路径后,点击install/update按钮,即可安装完成 
4、安装完成之后,请确认eclipse安装路径下是否多了一个lombok.jar包,并且其 
     配置文件eclipse.ini中是否 添加了如下内容: 
           -javaagent:lombok.jar 
           -Xbootclasspath/a:lombok.jar 
     如果上面的答案均为true,那么恭喜你已经安装成功,否则将缺少的部分添加到相应的位置即可 
5、重启eclipse或myeclipse 
6、创建一个java工程,建立如下类: 

Java代码  收藏代码
  1. 1.public @Data class DataObject {   
  2. 2private String id;   
  3. 3private String name;   
  4. 4private String userId;   
  5. 5private String password;   
  6. 6.}  

创建一个DataObject对象后,可以通过实体访问相应属性的get和set方法。

 

 

 

分享到:
评论

相关推荐

    Idea + Maven + Lombok配置

    Lombok plugin简单介绍,以及在idea+maven的环境下引入使用

    lombok.zip(lombok.jar)

    lombok.jar: 介绍:通过简单注解来实现精简代码来达到消除冗长代码的目的。 优点:提高编码效率、使代码更简洁、消除冗长代码、避免修改字段名时忘记修改方法名.

    lombok包+sts使用文档.zip

    lombok.jar,使用文档是介绍的sts4.1.0开发工具相关

    lombok.ogv视频资源

    主要介绍lombok的使用方式

    详解Lombok安装及Spring Boot集成Lombok

    主要介绍了详解Lombok安装及Spring Boot集成Lombok,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Intellij IDEA 2017.3使用Lombok及常用注解介绍

    主要介绍了Intellij IDEA 2017.3使用Lombok及常用注解介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    lombok注解介绍小结

    lombok是一个可以帮助我们简化java代码编写的工具类,这篇文章主要介绍了lombok注解介绍小结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    java项目中使用 Lombok遇到的问题小结

    主要介绍了java项目中使用 Lombok遇到的问题小结,需要的朋友可以参考下

    详解Spring Boot下的lombok安装以及使用简介

    Spring Boot是非常高效的开发框架,lombok是一套代码模板解决方案,将极大提升开发的效率,这篇文章主要介绍了详解Spring Boot下的lombok安装以及使用简介,感兴趣的小伙伴们可以参考一下

    lombok idea 插件最新版(解决报红错问题).zip

    软件介绍: lombok-plugin-0.23.jar最新版本lombok idea 插件,以解决idea2018.3 idea更新后lombok报红错问题。

    IDEA下lombok安装及找不到get,set的问题的解决方法

    主要介绍了IDEA下lombok安装及找不到get,set的问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    lombok idea用插件

    lombok是在编译阶段才生成相应的代码体,所以在项目中直接调用setter,getter,constructor会报错,这时候可以在IDE安装相应的插件支持lombok。这里介绍idea插件安装,eclipse请自行百度。

    Spring Boot中lombok的安装与使用详解

    主要给大家介绍了关于Spring Boot中lombok安装与使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

    HelloLombok:在Android Studio 1.2.21.3beta中使用lombok的步骤的记录

    记录在Android Studio 1.2.2 / 1.3beta中使用lombok的步骤。 1.将lombok添加到依赖项( ) 通过参考Gradle部分中的描述将其添加到依赖项中。 2.确认可以使用lombok功能( ) @Getter @Setter可以按预期使用getter ...

    详解Lombok快速上手(安装、使用与注解参数)

    主要介绍了详解Lombok快速上手(安装、使用与注解参数) ,这里整理了一些日常编码中能遇到的所有关于它的使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    SpringBoot使用LomBok的示例代码

    主要介绍了SpringBoot使用LomBok的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Java效率工具之Lombok的具体使用

    主要介绍了Java效率工具之Lombok的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    MyBatis使用级联操作解决lombok构造方法识别失败问题

    主要介绍了MyBatis使用级联操作解决lombok构造方法识别失败问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Java编码辅助工具Lombok用法详解

    主要介绍了Java编码辅助工具Lombok用法详解,可以使用Lombok来避免这种重复的操作,减少非核心代码的臃肿,提高编码效率,需要的朋友可以参考下

    idea中lombok启用的方法示例

    主要介绍了idea中lombok启用的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Global site tag (gtag.js) - Google Analytics