zoukankan      html  css  js  c++  java
  • Lombok插件的安装

    Lombok是一个可以通过简单的注解简化消除臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法,从而达到美化代码、提高编码效率、代码更简洁、消除冗长代码的作用。

    Lombok官坊网址:https://projectlombok.org/

    Lombok下载网址:https://projectlombok.org/download

    Lombok项目网址:https://github.com/rzwitserloot/lombok

    Lombok优点:美化代码、提高编码效率、使代码更简洁、消除冗长代码

    lombok常用的注解:

    @Data 注解在类上使用,可以省略所有的get set equal toString等方法. 
    @Getter 注解在属性上使用,可以省略所有get方法.
    @Setter 注解在属性上使用,可以省略所有的set方法.
    @NoArgsConstructor 注解在类上使用,可以提供无参构造.
    @AllArgsConstructor 注解在类上使用,可以提供全参构造.

    lombok插件的安装:

    lombok插件安装非常简单,Eclipse、IDEA都支持lombok插件,在IDEA下 File—setting—plugin 搜索lombok插件,点击安装即可。

    Eclipse下安装需要:

    1.现下载好的lombok插件放置到Eclipse安装目录下,关闭Eclipse编辑器,然后执行命令:

    2.安装完成以后,在Ecliipse安装路径下的ecliipse.ini中会有lombok插件的按照路径,在重新打开Ecliipse编辑器。

    3.在项目中引入lombok插件

    打开pom.xml文件,增加lombok插件

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

     4.Lombok的使用

    1).@Data注解在类使用

    @Data注解在类上,会自动生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法,代码如下:

    package main.blog.entity;
    
    import java.util.Date;
    
    import javax.validation.constraints.Min;
    import javax.validation.constraints.NotEmpty;
    import javax.validation.constraints.NotNull;
    import javax.validation.constraints.Past;
    
    import org.springframework.format.annotation.DateTimeFormat;
    
    import lombok.Data;
    
    @Data
    public class Article
    {
        private int age = 10;
      
      @Setter(AccessLevel.PROTECTED) //设置访问权限Protected
        private String name;
        
        public String toString() 
        {
        return String.format("%s (age: %d)", name, age);
      }
    }

    2).@Getter/@Setter在类属性上使用
    使用@Data简单粗暴,可以使用@Getter/@Setter注解,此注解在属性上,可以为相应的属性自动生成Getter/Setter方法,代码如下:

    import lombok.AccessLevel;
    import lombok.Getter;
    import lombok.Setter;
    
    public class Article 
    {
      @Getter 
        @Setter 
        private int age = 10;
      
        @Getter 
      @Setter(AccessLevel.PROTECTED) //设置访问权限Protected
        private String name;
        
      @Override 
        public String toString() 
        {
        return String.format("%s (age: %d)", name, age);
      }
    }

    3).Lombok注解更多使用方法
    @Data 注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
    @Setter :注解在属性上;为属性提供 setting 方法
    @Setter :注解在属性上;为属性提供 getting 方法
    @Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
    @NoArgsConstructor :注解在类上;为类提供一个无参的构造方法
    @AllArgsConstructor :注解在类上;为类提供一个全参的构造方法
    @Cleanup : 可以关闭流
    @Builder : 被注解的类加个构造者模式
    @Synchronized : 加个同步锁
    @SneakyThrows : 等同于try/catch 捕获异常
    @NonNull : 如果给参数加个这个注解 参数为null会抛出空指针异常
    @Value : 注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。

    官方文档: https://projectlombok.org/features/all

  • 相关阅读:
    iOS开发之友盟分享的使用
    iOS开发之AFNetworking开源库的使用
    iOS开发之网络基础知识
    iOS开发之Block
    iOS开发之数据库FMDB
    iOS开发常用的网站
    iOS开发之下拉刷新和上拉加载更多
    iOS开发之XML解析
    iOS之网络数据下载和JSON解析
    Linux 部署项目经验总结
  • 原文地址:https://www.cnblogs.com/huxiaoguang/p/10805612.html
Copyright © 2011-2022 走看看