Spring Boot 依靠之 lombok的@Data注解
一、创建 Spring Boot 项目
- 启动 IntelliJ IDEA,点击 File -> New -> Project...
- 在新项目对话框中,选择 Spring Initializr,点击 Next
- 配置 Spring Initializr 项目元数据,如 Group=com.dependencies 和 Artifact=lombok
- 选择 Spring Boot 版本,点击 Next
- 在依靠选项中选择以下依靠:
- 点击 Next -> Finish
编译之后的代码
1、代码编译之后,字节码文件decompile反编译之后的内容。着实这也就是不加注解需要手动写的,许多setter getter太多太繁琐。
- package com.javastudy.maven.pojo;
- public class User {
- private Integer id;
-
- private String username;
-
- private String password;
-
- private String email;
-
- public void setId(Integer id) {
- this.id = id;
- }
-
- public void setUsername(String username) {
- this.username = username;
- }
-
- public void setPassword(String password) {
- this.password = password;
- }
-
- public void setEmail(String email) {
- this.email = email;
- }
-
- public boolean equals(Object o) {
- if (o == this)
- return true;
- if (!(o instanceof User))
- return false;
- User other = (User)o;
- if (!other.canEqual(this))
- return false;
- Object this$id = getId(), other$id = other.getId();
- if ((this$id == null) ? (other$id != null) : !this$id.equals(other$id))
- return false;
- Object this$username = getUsername(), other$username = other.getUsername();
- if ((this$username == null) ? (other$username != null) : !this$username.equals(other$username))
- return false;
- Object this$password = getPassword(), other$password = other.getPassword();
- if ((this$password == null) ? (other$password != null) : !this$password.equals(other$password))
- return false;
- Object this$email = getEmail(), other$email = other.getEmail();
- return !((this$email == null) ? (other$email != null) : !this$email.equals(other$email));
- }
-
- protected boolean canEqual(Object other) {
- return other instanceof User;
- }
-
- public int hashCode() {
- int PRIME = 59;
- result = 1;
- Object $id = getId();
- result = result * 59 + (($id == null) ? 43 : $id.hashCode());
- Object $username = getUsername();
- result = result * 59 + (($username == null) ? 43 : $username.hashCode());
- Object $password = getPassword();
- result = result * 59 + (($password == null) ? 43 : $password.hashCode());
- Object $email = getEmail();
- return result * 59 + (($email == null) ? 43 : $email.hashCode());
- }
-
- public String toString() {
- return "User(id=" + getId() + ", username=" + getUsername() + ", password=" + getPassword() + ", email=" + getEmail() + ")";
- }
-
- public User(Integer id, String username, String password, String email) {
- this.id = id;
- this.username = username;
- this.password = password;
- this.email = email;
- }
-
- public User() {}
-
- public Integer getId() {
- return this.id;
- }
-
- public String getUsername() {
- return this.username;
- }
-
- public String getPassword() {
- return this.password;
- }
-
- public String getEmail() {
- return this.email;
- }
- }
复制代码 二、Java源代码
java源文件,使用@Data注解之后的代码:
- package com.javastudy.maven.pojo;
- import lombok.AllArgsConstructor;
- import lombok.Data;
- import lombok.NoArgsConstructor;
- /**
- * @author zhizhou 2024/6/27 17:37
- */
- @Data
- @AllArgsConstructor
- @NoArgsConstructor
- public class User {
- private Integer id;
-
- private String username;
-
- private String password;
-
- private String email;
- }
复制代码 三、引入lombok
引入lombok
要使用 @Data 注解要先引入lombok,lombok 是什么,它是一个工具类库,可以用简单的注解情势来简化代码,提高开发服从。
- <dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- <version>1.18.4</version>
- <scope>provided</scope>
- </dependency>
复制代码 在编译器中添加插件
这里以IDEA为例,在setting的plugin里搜索 lombok plugin,安装插件,安装完之后就可以在IDEA的Structure结构中看到@Data注解的效果。
安装完之后就可以在IDEA的Structure结构中看到@Data注解的效果。
源码地点:学习可供参考 码云
总结:
lombok 注解 @Data 一个组合注解,包含 @Getter、@Setter、@ToString、@EqualsAndHashCode 和 @RequiredArgsConstructor等。通过创建各种实体类并使用 Lombok 注解来减少样板代码,提高开发服从。降本增效这确实是个好方法,特别是一些相对比较老的项目,重构优化的空间会很大。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |