Spring Boot lombok:概述+安装
我们在开发过程中,通常都会定义大量的JavaBean,然后通过IDE去生成其属性的构造器、getter、setter、equals、hashcode、toString方法,当要对某个属性进行改变时,比如命名、类型等,都需要重新去生成上面提到的这些方法,那Java中有没有一种方式能够避免这种重复的劳动呢?Lombok就是为此而生的。
本节大纲
一、Lombok简介
Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。
官方地址:https://projectlombok.org/
二、Lombok安装
2.1 下载lombok.jar
从地址https://projectlombok.org/download 下载lombok.jar,当前最新的版本是1.16.18。
2.2 运行lombok.jar
运行Lombok.jar:java -jar D:\lombok.jar (D:\lombok.jar这是windows下lombok.jar所在的位置)。
数秒后将弹出一框,以确认IDE的安装路径(选择IDE的路径,这里使用的Eclipse) 确认完eclipse的安装路径后,点击install/update按钮,即可安装完成
2.3 验证是否安装成功
安装完成之后,请确认eclipse安装路径下是否多了一个lombok.jar包,并且其
配置文件eclipse.ini中是否 添加了如下内容: -javaagent:lombok.jar -Xbootclasspath/a:lombok.jar 如果上面的答案均为true,那么恭喜你已经安装成功,否则将缺少的部分添加到相应的位置即可。
2.4 重启IDE
重启IDE,这里是重启eclipse,到这里就可以体验lombok带来的快乐了。
三、注解介绍
(1)@Getter / @Setter
可以作用在类上和属性上,放在类上,会对所有的非静态(non-static)属性生成Getter/Setter方法,放在属性上,会对该属性生成Getter/Setter方法。并可以指定Getter/Setter方法的访问级别。
(2)@EqualsAndHashCode
默认情况下,会使用所有非瞬态(non-transient)和非静态(non-static)字段来生成equals和hascode方法,也可以指定具体使用哪些属性。
(3)@ToString
生成toString方法,默认情况下,会输出类名、所有属性,属性会按照顺序输出,以逗号分割。
(4)@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
无参构造器、部分参数构造器、全参构造器,当我们需要重载多个构造器的时候,Lombok就无能为力了。
(5)@Data
@ToString, @EqualsAndHashCode, 所有属性的@Getter, 所有non-final属性的@Setter和@RequiredArgsConstructor的组合,通常情况下,我们使用这个注解就足够
使用
https://blog.csdn.net/blueheart20/article/details/52909775
4. 使用示例:
示例Getter/Setter方法以及日志使用:
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Data
public class TestBean {
private String name;
private int age;
}
@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class TestEntityBean {
TestBean bean = new TestBean();
@Autowired
private MyCase mycase;
//@Test
public void test() {
bean.setAge(123);
bean.setName("zhangsan");
log.info(bean.toString());
}
}