Lombok是一个通过注解的形式或简单关键字简化和消除Java应用程序中一些必须但是重复或显得臃肿的样板代码的实用工具。
以前使用lombok只是基础应用,没有系统的总结lombok,现在对其主要功能总结一下方便以后使用。
lombok优点
- 提高编码效率
- 使代码更简洁
- 消除冗长代码
- 方便修改字段名字,不需要再次修改get、set等代码
lombok原理
lombok实现了“JSR 269 API”,在编译时会加上注解表示的代码
lombok安装
要使用lombok,IDE必须安装lombok插件,否则IDE识别不出来会报编译错误。
IDEA安装
在setting》plugins》Browse repositories中搜索lombok,安装并重启
eclipse
官网下载lombok,https://www.projectlombok.org/download
运行文件,选择Specify Location,再选择eclipse.exe即
等待扫描出本机安装的eclipse后进行安装确认,最后重启eclipse即可。 还有一种安装方式在直接拷贝lombok.jar到eclipse.ini的同级目录下,然后编辑eclipse.ini,在最后一行加上-javaagent:lombok.jar,最后重启eclipse。
项目使用lombok
maven:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
</dependency>
注解介绍
@Getter 等价于get方法
@Getter(AccessLevel.PROTECTED)
//在类上
@Getter
public class AdminInfo {
}
//属性上
@Getter
private String adminEmail;
@Setter 等价于set方法
@Setter(AccessLevel.PROTECTED)
@NoArgsConstructor 等价于 无参构造方法
//在类上
@NoArgsConstructor
public class AdminInfo {
}
@AllArgsConstructor 等价于 全参构造方法
//在类上
@AllArgsConstructor
public class AdminInfo {
}
@ToString 等价于 toString方法
@ToString(exclude=“column”) 意思:排除column字段的toSting方法
@ToString(exclude={“column1”,“column2”}) 意思:排除多个column字段的toSting方法
@ToString(of=“column”) 意思:只含column字段的toSting方法
@ToString(of={“column1”,“column2”}) 意思:只含多个column字段的toSting方法
//在类上
@ToString
public class AdminInfo {
}
@EqualsAndHashCode 等价于 重写 Equals、HashCode方法
@EqualsAndHashCode(exclude=“column”) 意思:排除column字段
@Data
包含下列
- @Getter
- @Setter
- @ToString
- @EqualsAndHashCode
@Data
public class AdminInfo {
}
@Slf4j 等价于 使用logback日志框架
@Slf4j
@Service
public class AdminServiceImpl implements AdminService {
//写了@Slf4j 可以不写下面代码
//private Logger logger = LoggerFactory.getLogger(AdminServiceImpl.class);
log.info("哈哈哈哈");
}
@Log4j 等价于 使用log4j日志框架
同上