试用一下lombok,立刻惊为天人,简直太爽了。
1 配置依赖:
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.10</version> <scope>provided</scope> </dependency>
2 爽点:
1)@Data注解类后,不用再写set,get方法了。爽得歪歪
@Data public class UserVo { private int id; private String userName; private int age; private String tel; private int sex; private String password; }
2)@Slf4j注解类后,不用再定义logger对象了。爽得一批。
@RestControllerAdvice @Slf4j public class GloabExceptionHandler { @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) @ExceptionHandler(Throwable.class) public ErrorResult handleThrowable(Throwable e, HttpServletRequest request){ ErrorResult error = ErrorResult.fail(ResultCode.FAIL,e); log.error("URL:{},系统异常",request.getRequestURI(),e); return error; } }
3)@Builder注解之后,支持链式写法,爽得飞起。
@Builder @Data @AllArgsConstructor @NoArgsConstructor public class ErrorResult { private Integer status; private String msg; private String exception; private String error;
}
@ExceptionHandler(BusinessException.class) public ErrorResult handleBusException(BusinessException e,HttpServletRequest request){ ErrorResult error = ErrorResult.builder() .status(e.code) .msg(e.getMessage()) .exception(e.getClass().getName()) .build(); log.warn("URL:{}",request.getRequestURI(),e); return error; }