idea环境下lombok插件的安装和使用

idea环境下lombok插件的安装和使用

简介

Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法.虽说 IDEA 的插件可以自动生成 get/set/toString 方法,但是使用 Lombok 可以让代码更简洁。

  1. 下载Lombok的类库文件 lombok.jar

    下载地址:https://projectlombok.org/download

  1. 将lombok.jar存储到执行项目的lib目录

    • 首先在项目下新建lib目录(右击项目–>New–>Directory文件名为lib)

    • 接下来把下好的lombok.jar复制到该目录文件下

  2. 将lombok.jar放到项目编译的环境下

    • 接下来点击项目结构(File–>Project Structure)

    • 点击Libraries–>+

    • 点击Java–然后在目录下找到你创建的lib目录点击Lombok.jar–>OK

    • 点击选择应用到的模块–>OK–>Apply

  3. 集成IDEA(idea安装lombok插件)

    • 点击File -->Settings–>Plugubs(搜索lombok)点击Install

    • 等待安装完成–Apply

    • 点击重启(Restart)

  4. 使用lombok插件

    • 在实体类上引入相关的注解就行了

    • 我们来比较下引入插件和没有引入插件的代码量差别

    没有引入lombok插件

    public class User   {
         
    
        private Integer id;
    
        private String username;
    
        private Integer age;
    
        public User() {
         
        }
    
        public Integer getId() {
         
            return id;
        }
    
        public void setId(Integer id) {
         
            this.id = id;
        }
    
        public String getUsername() {
         
            return username;
        }
    
        public void setUsername(String username) {
         
            this.username = username;
        }
    
        public Integer getAge() {
         
            return age;
        }
    
        public void setAge(Integer age) {
         
            this.age = age;
        }
    
        @Override
        public String toString() {
         
            return "User{" +
                    "id=" + id +
                    ", username='" + username + '\'' +
                    ", age=" + age +
                    '}';
        }
    
        @Override
        public boolean equals(Object o) {
         
            if (this == o) {
         
                return true;
            }
            if (o == null || getClass() != o.getClass()) {
         
                return false;
            }
            User user = (User) o;
            return Objects.equals(id, user.id) &&
                    Objects.equals(username, user.username) &&
                    Objects.equals(age, user.age);
        }
    
        @Override
        public int hashCode() {
         
            return Objects.hash(id, username, age);
        }
    
    }
    

    引入lombok插件

    @Data
    public class User {
         
        private Integer id;
        private String username;
        private Integer age;
    }
    
    • 有哪些注解

下面介绍一下常用的几个注解:

  • @Setter 注解在类或字段,注解在类时为所有字段生成setter方法,注解在字段上时只为该字段生成setter方法。
  • @Getter 使用方法同上,区别在于生成的是getter方法。
  • @ToString 注解在类,添加toString方法。
  • @EqualsAndHashCode 注解在类,生成hashCode和equals方法。
  • @NoArgsConstructor 注解在类,生成无参的构造方法。
  • @RequiredArgsConstructor 注解在类,为类中需要特殊处理的字段生成构造方法,比如final和被@NonNull注解的字段。
  • @AllArgsConstructor 注解在类,生成包含类中所有字段的构造方法。
  • @Data 注解在类,生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
  • @Slf4j 注解在类,生成log变量,严格意义来说是常量。private static final Logger log = LoggerFactory.getLogger(UserController.class);
  1. 为新的项目添加lombok插件

  • File–>Project Structure–>Libraries–>点击lombok右键Add to Modules

  • 添加到你想添加的模块

Maven管理项目不用执行1,2,3直接在maven加入依赖就行

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

官方注解链接:https://projectlombok.org/features/index.html

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 长得好看会提高面试通过率吗? #
3423次浏览 43人参与
# HR最不可信的一句话是__ #
1038次浏览 32人参与
# 米连集团26产品管培生项目 #
7181次浏览 224人参与
# 春招至今,你的战绩如何? #
15286次浏览 141人参与
# AI面会问哪些问题? #
911次浏览 22人参与
# 你的实习产出是真实的还是包装的? #
2862次浏览 52人参与
# MiniMax求职进展汇总 #
25005次浏览 321人参与
# 沪漂/北漂你觉得哪个更苦? #
1361次浏览 40人参与
# 你做过最难的笔试是哪家公司 #
1161次浏览 20人参与
# AI时代,哪个岗位还有“活路” #
2736次浏览 50人参与
# XX请雇我工作 #
51149次浏览 171人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7982次浏览 43人参与
# 简历第一个项目做什么 #
32100次浏览 359人参与
# 简历中的项目经历要怎么写? #
310955次浏览 4260人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152854次浏览 889人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
187566次浏览 1123人参与
# AI时代,哪些岗位最容易被淘汰 #
64610次浏览 870人参与
# 如果重来一次你还会读研吗 #
229990次浏览 2011人参与
# 投格力的你,拿到offer了吗? #
178284次浏览 891人参与
# 你怎么看待AI面试 #
180699次浏览 1298人参与
# 正在春招的你,也参与了去年秋招吗? #
364256次浏览 2641人参与
# 腾讯音乐求职进展汇总 #
160831次浏览 1114人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务