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 的依赖注入 。

相关推荐
benbenAItalk7 小时前
数字人口播视频的批量生产实践:素材规范、任务编排与质量验收
java·前端·音视频
sunshine22 girl7 小时前
Java学习二 基本语法2, 算术运算符
java·学习
niucloud-admin7 小时前
JAVA V6 多商户商城 开发文档——插件目录结构
java·开发语言
2601_962885727 小时前
如何用 Python 扫描 A 股跳空缺口并统计缺口回补概率?
java·前端·python
滕州市燕猫虎计算机科技工作室个体工商户8 小时前
Java锁
java·开发语言
shehuiyuelaiyuehao10 小时前
1计算机是如何工作的
java·计算机网络
letisgo510 小时前
JAVA 高级进阶07篇《@Transactional失效的8个场景:代理机制到传播行为》
java·面试·transactional·spring事务·aop动态代理
水域安全老周10 小时前
水趣钓鱼救生衣专利拆解:两级锁紧如何解决落水人衣分离
java·前端·网络
三84410 小时前
Java 模板注入(FreeMarker) · 02 · 模板引擎与 FreeMarker 语法
java·开发语言·web安全·freemarker
暮雨哀尘11 小时前
Java 基础练习(一):创建类并调用对象
java·开发语言