转载自 https://blog.csdn.net/qq_40081976/article/details/79139565

注解

  • val:用在局部变量前面,相当于将变量声明为final
  • @NonNull:给方法参数增加这个注解会自动在方法内对该参数进行是否为空的校验,如果为空,则抛出NPE(NullPointerException)
  • @Cleanup:自动管理资源,用在局部变量之前,在当前变量范围内即将执行完毕退出之前会自动清理资源,自动生成try-finally这样的代码来关闭流
  • @Getter/@Setter:用在属性上,再也不用自己手写setter和getter方法了,还可以指定访问范围
  • @ToString:用在类上,可以自动覆写toString方法,当然还可以加其他参数,例如@ToString(exclude=”id”)排除id属性,或者@ToString(callSuper=true, includeFieldNames=true)调用父类的toString方法,包含所有属性
  • @EqualsAndHashCode:用在类上,自动生成equals方法和hashCode方法
  • @NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor:用在类上,自动生成无参构造和使用所有参数的构造函数以及把所有@NonNull属性作为参数的构造函数,如果指定staticName = “of”参数,同时还会生成一个返回类对象的静态工厂方法,比使用构造函数方便很多
  • @Data:注解在类上,相当于同时使用了@ToString@EqualsAndHashCode@Getter@Setter@RequiredArgsConstrutor这些注解,对于POJO类十分有用
  • @Value:用在类上,是@Data的不可变形式,相当于为属性添加final声明,只提供getter方法,而不提供setter方法
  • @Builder:用在类、构造器、方法上,为你提供复杂的builder APIs,让你可以像如下方式一样调用Person.builder().name("Adam Savage").city("San Francisco").job("Mythbusters").job("Unchained Reaction").build();更多说明参考Builder
  • @SneakyThrows:自动抛受检异常,而无需显式在方法上使用throws语句
  • @Synchronized:用在方法上,将方法声明为同步的,并自动加锁,而锁对象是一个私有的属性$lock$LOCK,而java中的synchronized关键字锁对象是this,锁在this或者自己的类对象上存在副作用,就是你不能阻止非受控代码去锁this或者类对象,这可能会导致竞争条件或者其它线程错误
  • @Getter(lazy=true):可以替代经典的Double Check Lock样板代码
  • @Log:根据不同的注解生成不同类型的log对象,但是实例名称都是log,有六种可选实现类
    • @CommonsLog Creates log = org.apache.commons.logging.LogFactory.getLog(LogExample.class);
    • @Log Creates log = java.util.logging.Logger.getLogger(LogExample.class.getName());
    • @Log4j Creates log = org.apache.log4j.Logger.getLogger(LogExample.class);
    • @Log4j2 Creates log = org.apache.logging.log4j.LogManager.getLogger(LogExample.class);
    • @Slf4j Creates log = org.slf4j.LoggerFactory.getLogger(LogExample.class);
    • @XSlf4j Creates log = org.slf4j.ext.XLoggerFactory.getXLogger(LogExample.class);

也是不断收集的注解,虽然不是原创但是很常用.希望帮到大家

Lombok常用注解和功能相关推荐

  1. 20190905 Lombok常用注解

    Lombok常用注解 val 用于声明类型,将从初始化表达式推断出类型,仅适用于局部变量和foreach循环,而不适用于字段.声明的局部变量为final变量. Java自带类型推断随着JDK版本提升越 ...

  2. springboot依赖lombok插件、lombok常用注解

    --springboot依赖lombok插件.lombok常用注解 1 lombok插件 1.1 lombok插件简介 官方介绍如下: 意思是:lombok是一个能自动插入到编辑器和构建工具的java ...

  3. lombok常用注解大全

    lombok可以帮助我们提升日常开发的效率jar包.里面有许多实用的注解. 本文将对lombok的常用注解作使用介绍,对于一些实验性官方不推荐的注解只会简单介绍 实验性注解可能会带来一些风险. 注: ...

  4. lombok常用注解整理

    转载自 https://blog.csdn.net/u011308294/article/details/78627560 简介 lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得 ...

  5. lombok常用注解使用说明

    POM添加依赖 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok&l ...

  6. java常用注解及功能_SpringBoot 中常用注解及各种注解作用

    本篇文章将介绍几种SpringBoot 中常用注解 其中,各注解的作用为: @PathVaribale 获取url中的数据 @RequestParam 获取请求参数的值 @GetMapping 组合注 ...

  7. lombok常用注解

    引入pom中依赖: <dependency><groupId>org.projectlombok</groupId><artifactId>lombok ...

  8. 【Mybatisplus】创建Spring Boot工程实现用户自定义功能Service接口和常用注解总结

    目录 1.测试自定义功能 2.通用Service 创建Service接口和实现类 测试查询数据库中有多少条记录 测试批量添加操作(通过单个批量增加循环实现) 3.常用注解(@TableName) 解决 ...

  9. Lombok工具 : 常用注解介绍 (全)

    文章目录 介绍 引入Maven依赖 常用的注解 @NoArgsConstructor/@AllArgsConstructor @RequiredArgsConstructor @Getter/@Set ...

最新文章

  1. OpenCV 笔记(07)— Mat 对象输出格式设置(Python 格式、CSV 格式、NumPy 格式、C 语言格式)
  2. java操作跨页的word cell,利用itext 生成pdf,处理cell 跨页问题 [转]
  3. python展开面_python面度对象(属性,类方法,静态方法)
  4. win10 创建python虚拟环境
  5. 使用pandas进行量化回测(akshare)
  6. 三次元的世界里,机械臂的手活儿也无敌了
  7. 《Python自动化》学习笔记:百度云智能进行文字识别(代码干货)
  8. AlbertTransformerEncoder
  9. c语言超时自动退出,Golang实现for循环运行超时后自动退出的方法
  10. 软考初级程序员---题目(五)
  11. XML学习总结(三)——SAXReader解析xml文件数据
  12. 从零到一搭建Kconfig配置系统
  13. 静态NAT64实验配置
  14. STM32F103_study46_The punctual atoms(STM32 The location of all interrupt service functions )
  15. thingworx学习
  16. Shell脚本的美元符($)
  17. OSPFB笔记-五个报文【超详细】[Hello报文,DD报文,LSR报文,LSU报文,LSAck报文]
  18. springboot 集成redission分布式锁
  19. win10无法登录到你的账户->注销->重启->桌面初始化(只剩回收站+默认浏览器)等一系列问题出现
  20. 【开篇】有志者立志长

热门文章

  1. C++虚继承(二) --- C++ 对象的内存布局(上)(陈皓)
  2. 长连接和Keepalive
  3. cocos2d-x初探学习笔记(5)--动作管理
  4. DLL入门浅析(2)——如何使用DLL
  5. frida hook java层常用模板
  6. 面试官:你对MySQL高性能优化有什么规范建议?
  7. OS- -文件系统(四)
  8. OS- -请求分页系统、请求分段系统和请求段页式系统(一)
  9. 【阅读推荐】LiveVideoStack 精彩内容集锦
  10. LiveVideoStack:祝大家 2019 新年快乐!