Lombok插件注解:
@UtilityClass 注解一般用在工具类上,作用是为工具类中的所有成员属性和方法都加上static关键字,使其能直接通过类名调用。并且还会为该工具类生成一个私有的空构造函数。
@AllArgsConstructor 为标注的类生成一个全参构造函数,该构造函数会在类初始化时调用并完成属性注入
@RequiredArgsConstructor 生成一个带参构造函数,该构造函数包含了所有被final修饰或被@NotNull注解标注的属性。只要属性符合以上两点都会成为该构造函数的参数。
@SneakyThrows
抛异常的方法有两种,一种是直接在方法上通过throws关键字抛,另一种时通过try...catch先将异常捕获,然后在catch中通过throw关键字抛。平常如果我们在写代码时经常会出现编译器提示某个操作可能会出现异常需要我们主动的去抛出异常时,如果我们对该方法抛出了异常,那么调用该方法的的方法也必须处理这个异常,要么向上抛出,要么自己捕获处理。那么,有什么办法可以简化代码,省去throws、或是try...catch的操作呢,@SneakyThrows就是为了简化重复的throws、或是try...catch的操作。只要我们在出现异常的方法上加上该注解,加上该注解的方法被编译后会生成一个try...catch将整个方法体包裹并在catch中抛出一个泛型异常。该泛型匹配实际所有异常。