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

相关推荐
咖啡八杯9 小时前
GoF设计模式——策略模式
java·后端·spring·设计模式
用户1285261160216 小时前
我把祖传Java项目重构后,接口响应从3s砍到了200ms,只改了这几行代码
java
Linsk16 小时前
组件 = 模板 + 业务逻辑
java·前端·vue.js
星沉远浦17 小时前
用Gemini高效解决Java代码报错难以定位的问题
java
用户2986985301421 小时前
Word 文档字符级格式化:Java 实现方案详解
java·后端
笨鸟飞不快21 小时前
从单个服务到集群:一次完整的性能排查复盘
java·前端
荣码21 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
SamDeepThinking1 天前
Java微服务练习方式
java·后端·微服务
朦胧之1 天前
AI 编程-老项目改造篇
java·前端·后端
程序猿大帅2 天前
别再只当调包侠了:用 Spring AI 落地 Function Calling,我被大模型硬生生砸出了三个大坑
java