一、@RequiredArgsConstructor使用解释:

导入lombok包:<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.19.22</version>
</dependency>
@RequiredArgsConstructor:
生成带有必需参数的构造函数;而必需的参数是最终字段和具有约束的字段,例如@NonNull

注意几点:

 1.必须声明的变量为final​ 2.根据构造器注入的,相当于当容器调用带有一组参数的类构造函数时,基于构造函数的 DI 就完成了,其中每个参数代表一个对其他类的依赖。基于构造方法为属性赋值,容器通过调用类的构造方法将其进行依赖注入使用当我们需要注入       Bean的时候可以直接在类名称上使用。代替了Autowrited注解

生成带有必需参数的构造函数:

构造方法作用就是对类进行初始化。 如果你没有定议任何构造方法的形式,程式会为你取一个不带任何参数的构造函数,那么你产生类的对像时只能用不带参数的方法:​ 构造方法必须满足以下语法规则:(1) 方法名必须与类名相同。(2)不要声明返回类型。(3)不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承,所以用final和abstract修饰没有意义。

实例:

@RestController
@RequestMapping("/com/notice")
@RequiredArgsConstructor
public class ComNoticeController {private final ComNoticeServiceImpl noticeService;/*** 公告列表* @return*/@GetMapping("/titlelist")public PageInfo<ComNoticeTitleInfo> getComNoticeTitleList(PageParam pageParam){PageInfo<ComNoticeTitleInfo> noticeTitleInfos = noticeService.noticeTitleList(pageParam);return noticeTitleInfos;}|}

二、@NonNull 注解使用解释:

作用就是为了判断代码中经常充斥着各种判空

@NonNull 指示目标对象不能为 null,用于注解方法,参数以及变量;即:给方法参数增加这个注解,会自动在方法内对该参数进行是否为空的校验,如果为空,则抛出 NPE(NullPointerException)

与Spring core中注解作用相似:

位于org.springframework.lang 包下,SpingBoot 项目中可直接使用。

@NonNull 指示目标对象不能为 null,用于注解方法,参数以及变量;
@NonNullApi 指定参数和方法返回值默认不能为 null,用于包(Package)级别注解;
@NonNullFields 指示变量不能为 null,用于包(Package)级别注解;
@Nullable 指定目标对象可以为 null,可用于注解方法,参数以及变量 。若是与 @NonNullApi 和 @NonNullFields 共用,会被覆盖;

注解 @RequiredArgsConstructor与@NonNull系列注解的用法:相关推荐

  1. @NonNull系列注解,优雅解决令人发指的判空

    前言 写代码判空经常让人头疼,通常能写到手疼,代码中经常充斥着各种判空,影响代码美观.因此java 提出了 jsr-305 提供了前面问题的解决方案.业界有很多实现.下面介绍两个经常用到的实现及其示例 ...

  2. SpringBoot整合RabbitMQ系列--注解的使用

    原文网址:SpringBoot整合RabbitMQ系列--注解的使用_IT利刃出鞘的博客-CSDN博客 简介 本文用实例介绍SpringBoot中RabbitMQ相关的注解. @RabbitListe ...

  3. 详解Spring Boot框架中的@Conditional系列注解

    目录 1. @Conditional 注解 2. Spring boot 扩展 1) @ConditionalOnClass和@ConditionalOnMissingClass注解 2) @Cond ...

  4. @data注解的作用_Java中注解学习系列教程-2

    在上一篇文章中,我们讲解了:Java中注解的定义.JDK中内置注解.第三方注解. 本文是注解系列教程中的第二篇.来看看今天主要内容: ​ 1:注解的分类 2:元注解说明 3:自定义注解声明 一:注解的 ...

  5. 校验注解:@Valid 和 @Validated区别与用法(附详细案例)

    一.案例对象 本文章会以案例为主,讲解@Valid 和 @Validated这两个注解的区别与用法. 1.首先,创建一个学生对象,如下: import lombok.Data;/*** 学生对象*/ ...

  6. SpringBoot @Conditional系列注解

    目录 @ConditionalOnClass.@ConditionalOnMissingClass @ConditionalOnBean.@ConditionalOnMissingBean @Cond ...

  7. condition系列注解全面罗列

    在spring某些场景下,我们希望随着某些配置项/类的存在与否,决定一些bean是否被实例化并加载到spring容器. @Conditional系列注解,便是这个问题的解决方案. 文章目录 相关注解罗 ...

  8. 【Java注解系列】内置注解与AOP实现自定义注解

    Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制. Java 语言中的类.方法.变量.参数和包等都可以被标注.和 Javadoc 不同,Java 标注可 ...

  9. 自定义依赖注解无效_关于Apt注解实践与总结【包含20篇博客】

    超详细!安卓巴士开发者大会嘉宾及主题介绍 目录介绍 00.注解系列博客汇总 01.什么是apt 02.annotationProcessor和apt区别 03.项目目录结构 04.该案例作用 05.使 ...

最新文章

  1. H5页面遮罩弹框下层还能滚动的问题
  2. c++经典书籍--Effective C++
  3. matlab cell取一列,MATLAB cell struct
  4. html函数中怎么写超链接,如何调用html超链接中的函数
  5. BZOJ 5064: B-number
  6. 计算机专业答辩模板,论文答辩模板-计算机专业.ppt
  7. iphone录屏没内部声音_安卓手机如何录屏?手机高清录屏指南
  8. 第一个 Rails App 从安装到创建(windows版本)
  9. error HLP: Help compilation failed with code 1
  10. 部分编程错误小集-15.04
  11. 关于spring的事务管理(单数据库):纯属猜测。
  12. python中自定义错误_Python中的自定义错误消息
  13. Linux目录详细说明
  14. es的分片和副本_原创|ES广告倒排索引架构演进与优化
  15. 过渡矩阵、线性变换矩阵在对应基下坐标的求法
  16. Mothur3进阶_Mothur扩增子基因序列处理_数据比对、聚类及其处理评估
  17. TideSec远控免杀学习二(Evasion模块+veil)
  18. 怎么把独有的qlv格式转换成mp4格式
  19. 学渣的刷题之旅 leetcode刷题 100.相同的树
  20. MEMZ彩虹猫病毒讲解

热门文章

  1. ORA 12514 TNS listener does not currently know of service r
  2. 多线程调试(gdb命令行和使用集成开发qtcreator查看线程状态)
  3. 航天,百旺组件开票调用说明
  4. java mavlink_MAVLink功能开发,移植教程。
  5. ZBrush建模作品分享丨次世代食人魔角色建模
  6. Oracle数据库的配置文件丢失或损失,重新执行pfile启动
  7. 小区物业管理系统(数据库课程设计)
  8. 662k稳压芯片电路图,线性稳压芯片
  9. 一年过去了,在中软国际怎么样
  10. RocketMQ原理