lombok学习笔记

lombok应用
概念

lombok:lombok是一款Java开发插件,可以通过它定义的注解来精简冗长和繁琐的代码,主要针对简单的Java模型对象(POJO)。

好处

  1. 节省大量重复工作
  2. Lombok针对这些内容的处理是在编译期,而不是通过反射机制,这样的好处是并不会降低系统的性能。
    • RetentionPolicy.SOURCE
lombok使用步骤
  1. 在IDEA中安装lombok插件

  2. 添加lombok的maven坐标

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.12</version>
        <scope>provided</scope>
    </dependency>
    
  3. 改造实体类。使用lombok注解精简代码

    @NoArgsConstructor
    @AllArgsConstructor
    @Data
    public class User {
        private Long id;
        private String userName;
        private String age;
        private String address;
    }
    
lombok注解说明
注解名称注解位置注解作用
@Data自动提供getter、setter、hashCode、equalstoString等方法
@Getter类、成员变量自动提供getter方法
@Setter类、成员变量自动提供setter方法
@Slf4j自动在bean中提供log变量,其实用的是slf4j的日志功能
@Log4j为该类提供一个属性名为log的log4j日志对象。
@AllArgsConstructor为该类提供一个包含全部参的构造方法,注意此时默认构造方法不会提供。
@NoArgsConstructor提供一个无参的构造方法。可以和@AllArgsConstructor同时使用
@EqualsAndHashCode生成equals、canEqual、hashCode方法。
@ToString生成包含所有参数的toString方法。

注:

  • 需要特定的getter和setter方法时,可以自己重写该方法
  • @Slf4j和@Log4j:在需要打印日志的类中使用,当项目中使用了slf4j打印日志框架时使用该注解,会简化日志的打印流程,只需调用info方法即可;
lombok深入理解

img

lombok实现流程:首先是项目的源代码文件,在经过编译处理以后,lombok会使用自己的抽象语法树去进行注解的匹配,如果在项目中的某一个类中使用了lombok中的注解,那么注解编译器就会自动去匹配项目中的注解对应到在lombok语法树中的注解文件,并经过自动编译匹配来生成对应类中的getter或者setter方法,达到简化代码的目的。执行顺序就如上图的叠放顺序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值