不讲常见的、技巧性的
- @AllArgsConstructor 替代@Autowired构造注入,多个bean 注入时更加清晰L
@Slf4j @Configuration @AllArgsConstructor public class RouterFunctionConfiguration { private final HystrixFallbackHandler hystrixFallbackHandler; private final ImageCodeHandler imageCodeHandler; } @Slf4j @Configuration public class RouterFunctionConfiguration { @Autowired private HystrixFallbackHandler hystrixFallbackHandler; @Autowired private ImageCodeHandler imageCodeHandler; }
@SneakyThrows private void checkCode(ServerHttpRequest request) { String code = request.getQueryParams().getFirst("code"); if (StrUtil.isBlank(code)) { throw new ValidateCodeException("验证码不能为空"); } redisTemplate.delete(key); } // 不使用就要加这个抛出 private void checkCode(ServerHttpRequest request) throws ValidateCodeException { String code = request.getQueryParams().getFirst("code"); if (StrUtil.isBlank(code)) { throw new ValidateCodeException("验证码不能为空"); } }
- @UtilityClass 工具类再也不用定义static的方法了,直接就可以Class.Method 使用
@UtilityClass public class Utility { public String getName() { return "name"; } } public static void main(String[] args) { System.out.println(Utility.getName()); }
- @CleanUp: 清理流对象,不用手动去关闭流,多么优雅
@Cleanup OutputStream outStream = new FileOutputStream(new File("text.txt")); @Cleanup InputStream inStream = new FileInputStream(new File("text2.txt")); byte[] b = new byte[65536]; while (true) { int r = inStream.read(b); if (r == -1) break; outStream.write(b, 0, r); }
总结
Lombok 常用的注解就那么几个,@Data 、@Getter/Setter ,Pig 使用例子中的几个可以让代码的更加优雅,建议在你的工程中使用
注意:本文归作者所有,未经作者允许,不得转载