Lombok 是一个 Java 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO),它通过注解来实现这一目的。
![d0d9cdbce2ce68a24fa5d0f26e29667c.png](https://img-blog.csdnimg.cn/img_convert/d0d9cdbce2ce68a24fa5d0f26e29667c.png)
在实际开发过程中,经常需要写很多实体类bean,都需要花时间去添加相应的getter、setter,还有构造器、equals等方法,而且需要维护修改,当属性过多时会出现大量的getter、setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。
![3169da14a0d6dfaa4cf029435a000447.png](https://img-blog.csdnimg.cn/img_convert/3169da14a0d6dfaa4cf029435a000447.png)
lombok使用注解的方式来消除这些冗余代码,只要引入lombok的jar包,就可以直接使用注解了。
![faa25859dc89beab4e1e57824f05cbdf.png](https://img-blog.csdnimg.cn/img_convert/faa25859dc89beab4e1e57824f05cbdf.png)
常见注解如下,
一、@Data
@Data注解在类上,会为类的所有属性自动生成setter、getter、equals、hashCode、toString等方法,如为final属性,则不会为该属性生成setter方法。
![486b29c41408070ac63a0fe3d6c0fd71.png](https://img-blog.csdnimg.cn/img_convert/486b29c41408070ac63a0fe3d6c0fd71.png)
二、@Getter / @Setter
@Data是无差别的生成getter和setter,而@Getter是只生成getter方法,@Setter是只生成setter方法。
三、构造器
@NoArgsConstructor生成无参构造器,@AllArgsConstructor生成全参构造器。
四、@ToString
使用此注解会自动重写对应的toStirng方法;
五、日志
@Slf4j或@Log4j注解非常好用,在需要打印日志的类中使用,当项目中使用了slf4j打印日志框架时使用该注解,会简化日志的打印流程,只需调用log.info方法就可以了。
![3998faf16520e228ee1c8c06ecbca318.png](https://img-blog.csdnimg.cn/img_convert/3998faf16520e228ee1c8c06ecbca318.png)
lombok在项目中非常实用,只需引入对应的jar包即可,既提高了开发效率,又简洁了代码,还不赶快试一下吗?