Lombok注解
1、添加Maven依赖
<!-- lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
2、idea安装插件
3、Lombok 常用的注解:
注解 | 描述 |
---|---|
@Getter / @Setter | 可以作用在类上和属性上,放在类上,会对所有的非静态(non-static)属性生成Getter/Setter方法,放在属性上,会对该属性生成Getter/Setter方法。并可以使用该注解中的AccessLevel属性来指定Getter/Setter方法的访问级别。 |
@ToString | 生成toString方法,默认情况下,会输出类名、所有属性,属性会按照顺序输出,以逗号分割。可以使用该注解中的exclude属性来指定生成的toSpring方法不包含对象中的哪些字段,或者使用of属性来指定生成的toSpring方法只包含对象中的哪些字段 |
@EqualsAndHashCode | 默认情况下,会使用所有非瞬态(non-transient)和非静态(non-static)字段来生成equals和hascode方法,也可以使用exclude或of属性。 |
@NoArgsConstructor | 生成无参构造器 |
@RequiredArgsConstructor | 会生成一个包含标识了@NonNull注解的变量的构造方法。生成的构造方法是private,如果想要对外提供使用的话,可以使用staticName选项生成一个static方法。 |
@AllArgsConstructor | 生成全参构造器,当我们需要重载多个构造器的时候,Lombok就无能为力了。 |
@Slf4j | 该注解是用来解决不用每次都写 private final Logger logger = LoggerFactory.getLogger(XXX.class); 这句代码的。使用的日志框架是LogBack |
@Log4j | 该注解也是用来解决不用每次都写日志对象声明语句的,从字面上也可以看出,使用的日志框架是log4j |
@Data | 该注解是 @ToString、@EqualsAndHashCode注解,和所有属性的@Getter注解, 以及所有non-final属性的@Setter注解的组合,通常情况下,我们使用这个注解就足够了。 |
- 以上只列出了部分常用注解,更多注解的使用方式,请参考 官网关于注解的文档
4、
@Log4j2 @Component public class LoginInterceptor extends HandlerInterceptorAdapter { /** * 访问方法之前 */ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if (handler instanceof HandlerMethod) { String requestURI = request.getRequestURI(); log.info("当前请求路径是:{}", requestURI); } return true; } }