今天发现了一个很逆天的java
插件,就是lombok
,这个东西可以让我们违背java
的编码规范进行编码
废话不多说,来一起看看怎么使用这个逆天
的插件吧!
安装lombok插件
因为在编码的时候违反了java的编码规范,所以必须安装插件才可以使用这个东西;我们一IDEA为例:
File --> Setting --> Plugins --> 搜索“lombok plugin”,安装后重启idea
lombok 注解
这里只提供lombok
常用注解,其他注解请看官方文档:
https://projectlombok.org/features/index.html
下面介绍几个我常用的 lombok 注解:
@Data
:注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法@Setter
:注解在属性上;为属性提供 setting 方法@Getter
:注解在属性上;为属性提供 getting 方法@Slf4j
:注解在类上;为类提供一个 属性名为log 的 slf4j 日志对象@NoArgsConstructor
:注解在类上;为类提供一个无参的构造方法@AllArgsConstructor
:注解在类上;为类提供一个全参的构造方法@NonNull
:注解在参数上,可以省略重复的 if( null == persion)这类异常处理@Cleanup
:注解在输入输出流等需要释放资源的变量上,不需要写额外繁琐而重复的释放资源代码
例子
接下来一起来看几个例子
@Data
public class User {
private String name;
private Integer age;
private String address;
public static void main(String[] args) {
// 方法中没有setter和getter方法哦
User user = new User();
user.setName("王小明");
user.setAge(12);
user.setAddress("地址");
}
}
@Slf4j
public class Test {
public static void main(String[] args) {
// 我的类中没有定义 log 属性哦
log.info("我的类中没有定义 log 属性哦");
}
}
总结
这个插件虽然可以让我们少写很多代码,但是让代码的可镀锌改变的很差,也有人说这个东西一无是处,但是我觉得并不能一棒子打死;
虽然我也反对lombok
这种写代码的方式,但是,如果合理的使用他,还是能在一定程度上减少我们的工作量的。
比如下面这种常见,我们使用mybatis
的时候,避免不了写很多实体类,如果一个实体类中有30个属性,每个属性都写上getter
和setter
方法,如果保证格式的话,大概要300行以上的代码,如果这样写的话,代码可读性反而降低了,看着都烦,如果使用lomnok
+ @NoArgsConstructor
+ @AllArgsConstructor
,这样就使用十分之一的代码完成了,反正这些类并不太重要;
以上均属个人观点,不喜勿喷。。。