Lombok 的使用

深藏阁楼爱情的钟 2022-02-04 07:27 363阅读 0赞

介绍

  • 官网: projectlombol.org
  • 通过简单注解来精简代码。

pom

  1. <dependency>
  2. <groupId>org.projectlombok</groupId>
  3. <artifactId>lombok</artifactId>
  4. <version>1.16.20</version>
  5. <scope>provided</scope>
  6. </dependency>

idea下载lombok工具

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM1NDE4NTE4_size_16_color_FFFFFF_t_70

get/set可以标记在类上(全局统一配置),或者单个方法上。

@ToString 自动添加toString方法

  1. @Setter
  2. @Getter
  3. @ToString
  4. public class User {
  5. private String id;
  6. private String name;
  7. private Integer age;
  8. }
  9. public class User {
  10. private String id;
  11. @Setter
  12. @Getter
  13. private String name;
  14. private Integer age;
  15. }

@Data功能相当于 @Setter@Getter@ToStrin@EqualsAndHashCode@RequiredArgsConstructor五个组合在一起

  1. @Data
  2. public class User {
  3. private String id;
  4. private String name;
  5. private Integer age;
  6. }

@Accessors(chain = true)链式编程

  1. @Setter
  2. @Getter
  3. @Accessors(chain = true)
  4. public class User {
  5. private String id;
  6. private String name;
  7. private Integer age;
  8. }
  9. public static void main(String[] args) {
  10. //使用@Accessors(chain = true)
  11. User userChain = new User();
  12. userChain.setId("1").setName("chain").setAge(1);
  13. }

@Builder bulider编程

  1. @Setter
  2. @Getter
  3. @Builder
  4. public class User {
  5. private String id;
  6. private String name;
  7. private Integer age;
  8. }
  9. public static void main(String[] args) {
  10. User user = User.builder().id("1").name("builder").age(1).build();
  11. System.out.println(user.getId());
  12. }

@UtilityClass 工具栏(就是变成静态方法)

  1. @UtilityClass
  2. public class Utility {
  3. public String getName() {
  4. return "name";
  5. }
  6. }
  7. public static void main(String[] args) {
  8. // Utility utility = new Utility(); 构造函数为私有的,
  9. System.out.println(Utility.getName());
  10. }

java也能够像javascript一样使用弱类型定义变量了

val注解变量申明是final类型 var注解变量是非final类型

  1. //非finall类型
  2. var ss = new ArrayList<>();
  3. //final类型
  4. val doub = new int[]{1,2,3};

注解描述(只记录我感兴趣的注解)

  • @Slf4j: LogBack日志框架,使用这个注解
  • @Log4j: Log4j日志框架,使用这个注解
  • @Data:注解在类上,将类提供的所有属性都添加get、set方法,并添加、equals、canEquals、hashCode、toString方法
  • @Setter:注解在类上,为所有属性添加set方法、注解在属性上为该属性提供set方法
  • @Getter:注解在类上,为所有的属性添加get方法、注解在属性上为该属性提供get方法
  • @Getter(AccessLevel.PROTECTED):注解在类上,私有get方法
  • @Builder:使用builder模式创建对象
  • @NoArgsConstructor:创建一个无参构造函数
  • @AllArgsConstructor:创建一个全参构造函数
  • @ToString:创建一个toString方法
  • @ToString(exclude=”column”):排除column参数的toString
  • @ToString(exclude={“column1”,”column2”}):排除2参数的toString
  • @ToString(of=”column”):只包含column参数的toString
  • @ToString(of={“column1”,”column2”}):只包含2参数的toString
  • @Accessors(chain = true)使用链式设置属性,set方法返回的是this对象。
  • @UtilityClass:工具类
  • @Cleanup: 关闭流、连接点。
  • @EqualsAndHashCode:重写equals和hashcode方法。
  • @toString:创建toString方法。
  • @val @var:val注解变量申明是final类型 var注解变量是非final类型(就是js里的var)

发表评论

表情:
评论列表 (有 0 条评论,363人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Lombok使用

    Lombok 1. 简介 Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。仅

    相关 lombok使用

    介绍 lombok是今年刚毕业来公司的时候发现的一个非常好用的小工具,刚见到的时候就感觉非常好用,推荐给大家 lombok的官方地址:[https://projectl

    相关 Lombok使用

    在Intellij中安装Lombok的插件 想要体验一把Lombok的话,得先在自己的开发环境中安装上对应的插件。下面先为大家展示下如何在Intellij中安装上Lomb

    相关 Lombok使用

    作用 > 我们的一些实体类,都需要get,set,tostring等,如果使用了Lombok,那我们则只需在实体类上加上@data的注解,无需手写get,set等方法。极

    相关 Lombok使用

    为何要使用Lombok > 我们在开发过程中,通常都会定义大量的JavaBean,然后通过IDE去生成其属性的构造器、getter、setter、equals、hashc