lombok.RequiredArgsConstructor bean 注入

文章目录


前言

本文介绍通过lombok.RequiredArgsConstructor 对bean 进行依赖注入,@RequiredArgsConstructor 是 Lombok 框架提供的注解,核心作用:自动为 Java 类生成「只包含必需字段」的构造方法,省去手动编写构造器的代码,让代码更简洁。


一、什么是「必需字段」?

只有满足以下两个条件的字段,才会被纳入自动生成的构造方法:

  • 被 final 修饰(不可变字段,必须初始化)
  • 被 @NonNull 注解修饰(非空字段,必须赋值)

普通字段(既不是 final,也没有 @NonNull)不会被包含在生成的构造方法中。

二、核心作用

  • 自动生成构造方法:编译期自动生成包含所有「必需字段」的构造器,无需手写
  • 强制校验:@NonNull 修饰的字段,会自动生成非空校验(传 null 直接抛空指针异常)
  • 简化代码:替代手动编写构造方法,减少冗余代码

三、和 Lombok 其他构造器注解的区别

注解 作用 包含的字段
@NoArgsConstructor 生成无参构造方法 无字段
@AllArgsConstructor 生成全参构造方法 类中所有字段
@RequiredArgsConstructor 生成必需字段构造方法 仅 final + @NonNull 字段

四、常用场景

Spring 依赖注入(推荐用法)

用在 Service/Controller 上,替代 @Autowired 注入,Spring 4.2+ 支持:

c 复制代码
@Service
@RequiredArgsConstructor
public class UserService {
    // final 修饰,自动注入,无需 @Autowired
    private final UserMapper userMapper;
}

总结

@RequiredArgsConstructor 被 final 修饰, 或者被 @NonNull 注解修饰 ,可以进行spring 进行bean 的依赖注入 。

相关推荐
CHANCE V16 分钟前
集合排序和流排序
java
16月6日-晴36 分钟前
Java面向对象进阶—多态
java·开发语言
qq_185198691 小时前
SpringBoot-五-AOT
java·spring boot·后端
王大大的刀2 小时前
Spring AI 重试引起的 LLM 重复调用
java·人工智能
风流 少年2 小时前
hutool
java·服务器·开发语言
H_oRIZoN_2 小时前
Linux入门DAY27(文件IO(系统调用)详解|open/read/write/lseek)
java·linux·服务器
延凡科技2 小时前
从 “人管机器“ 到 “数据管人“:智慧矿山综合管控落地实践
java·后端·struts
卓怡学长3 小时前
w180springboot基于Java的悠扬乐器管理
java·spring boot·mysql·spring·maven·intellij-idea
古法安卓3 小时前
Android-高版本 LMKD 源码解析:基于 PSI 的内存压力监控与查杀全流程
android·java·android studio
古法安卓3 小时前
Android-PSI 详解:libpsi 源码解析——116 行代码架起 lmkd 与内核之间的桥
android·java·android studio