场景:减少实体类中如Getter,Setter,构造方法的书写,加快开发速度。
原因:lombok是一个第三方插件,我们使用时需要进行两个步骤(两个步骤缺一不可):
1.引入lombok依赖
2.安装lombok插件(大家易忽略,这也是它的缺点,协调开发人员也需要安装插件,否则项目报错)
作用:Lombok是一个第三方插件,通过它我们可以直接书写注解来代替原来的getter,setter,toString等方法。
第一步:pom.xml引入依赖
<!-- lombok 通过简单的注解的形式来简化消除一些必须有但显得很臃肿的 Java 代码的工具,比如get、set-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.6</version>
</dependency>
第二步:下载jar包
1.把下载的lombok.jar,放到eclipse.ini 同目录下
2.修改eclipse.ini 添加
-javaagent:lombok.jar
-vmargs -javaagent:lombok.jar
第三步:重启eclipse,更新maven仓库
效果:
POJO类
package cn.xdf.yn.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 测试lombok
* 通过简单的注解的形式来简化消除一些必须有但显得很臃肿的 Java 代码的工具,比如get、set
* @Data注解中包含了get,set和toString,所以我们直接在实体类中是@Data注解就可以免了再去手动创建这步骤了
* @author ZS
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private int age;
private String name;
private char sex;
}
测试类
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserTest {
@Test
public void lombokTest(){
User user = new User();
user.setAge(18); //set方法 生效
user.setName("花花");
user.setSex('0');
User user2 = new User(25,"明明",'1'); //构造方法 生效
System.err.println(user); //tostring 生效
System.err.println(user2);
}
}
------------------------------------
User(age=18, name=花花, sex=0)
User(age=25, name=明明, sex=1)
注解详解:
@Data:注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在属性上;为属性提供 setting 方法
@Getter:注解在属性上;为属性提供 getting 方法
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法