3.lombok
1.lombok介绍
lombok是一个开源的代码生成库,能以简单的注解形式来简化Java类中的大量样板代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量。
lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法,使代码看起来更简洁。
lombok对应的maven坐标:
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.10</version>
</dependency>
2.安装lombok插件
开发工具为IntelliJ IDEA,安装插件过程如下:
1.打开IntelliJ IDEA后点击菜单栏中的File–>Settings进入到设置页面
2.点击设置页面中的Plugins进行插件的安装,在右侧选择Browse repositories…,然后在搜索页面输入lombok,可以查询到下方的Lombok Plugin,鼠标点击Lombok Plugin可在右侧看到Install按钮,点击该按钮便可安装.
3.lombok常用注解
4.lombok入门案例
第一步:创建maven工程lombok_demo并配置pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.sun</groupId><artifactId>lombok_demo</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.10</version></dependency></dependencies></project>
第二步:创建User类并加入lombok提供的注解
package com.sun.entity;import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class User {private int id;private String name;private int age;
}
第三步:创建测试类TestLombok
package com.sun;import com.sun.entity.User;public class TestLombok {public static void main(String[] args) {//无参构造方法User user1 = new User();/*setter方法*/user1.setId(1);user1.setName("itcast");user1.setAge(18);/*getter方法*/int id = user1.getId();String name = user1.getName();int age = user1.getAge();//带有所有参数的构造方法User user2 = new User(2,"itheima",20);//建造者模式User user3 = User.builder().id(3).name("boxuegu").age(22).build();/*toString方法*/System.out.println(user1.toString());System.out.println(user2.toString());System.out.println(user3.toString());}
}
注:可以使用反编译工具查看生成的class文件内容