Springcloud 学习笔记08-idea中lombok插件的安装与使用教程;@Builder注解使用
1.Lombok简介
Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。
2.Lombok安装
IDEA中添加Lombok插件,File->Setting->Plugins搜索Lombok Plugin,点击install,安装完成后重启IDEA
在maven项目的pom.xml中添加依赖
<!--Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.20</version> </dependency>
3.lombok使用
首先,用到的几个注解:
3.1 @Data
使用这个注解,就不用再去手写Getter,Setter,equals,canEqual,hasCode,toString等方法了,注解后在编译时会自动加进去。
3.2 @AllArgsConstructor
使用后添加一个构造函数,该构造函数含有所有已声明字段属性参数
3.3 @NoArgsConstructor
使用后创建一个无参构造函数
3.4 @Builder
关于Builder较为复杂一些,Builder的作用之一是为了解决在某个类有很多构造函数的情况,也省去写很多构造函数的麻烦,在设计模式中的思想是:用一个内部类去实例化一个对象,避免一个类出现过多构造函数。
案例一:
@Builder public class User { private String username; private String password; }
编译后:
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler) // package com.ttbank.flep.core.test; public class User { private String username; private String password; User(String username, String password) { this.username = username; this.password = password; } public static User.UserBuilder builder() { return new User.UserBuilder(); } public static class UserBuilder { private String username; private String password; UserBuilder() { } public User.UserBuilder username(String username) { this.username = username; return this; } public User.UserBuilder password(String password) { this.password = password; return this; } public User build() { return new User(this.username, this.password); } public String toString() { return "User.UserBuilder(username=" + this.username + ", password=" + this.password + ")"; } } }
实际使用:
package com.ttbank.flep.core.test; /** * @Author lucky * @Date 2022/7/7 20:37 */ public class UserTest { public static void main(String[] args) { User user = User.builder().username("lucky").password("123456").build(); System.out.println(user.toString()); } }
debug模式:
案例二:
package com.ttbank.flep.file.entity; import lombok.*; import lombok.experimental.Accessors; import java.io.Serializable; @Data //生成getter,setter等函数 @Builder @NoArgsConstructor //生成无参构造函数 @AllArgsConstructor //生成全参数构造函数 public class User implements Serializable { private Integer id; private String name; private String disc; }
效果图:
此时,测试类中可以使用全参构造方法。
在刚开始使用Lombok的时候建议大家可以多看看class文件,来加深对你所需要使用注解的理解。
参考文献:
https://www.jianshu.com/p/3ce2f0a39df4
https://blog.csdn.net/ChenXvYuan_001/article/details/84961992
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)