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

相关推荐
铁链鞭策大师1 小时前
JavaEE之多线程
java·开发语言·java-ee
摇滚侠1 小时前
Maven 入门+高深 jar 包冲突 167-171
java·maven·jar
我是唐青枫1 小时前
Java Optional 实战指南:优雅处理空值与链式转换
java·开发语言
摇滚侠1 小时前
SpringBoot 升级,依赖冲突如何解决
java·spring boot·spring
jack@london1 小时前
eclipse启动tomcat6时报错OutOfMemoryError: PermGen space
java·ide·eclipse
小江的记录本1 小时前
【JVM虚拟机】类加载机制:类加载器、双亲委派模型、好处、破坏双亲委派的场景(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·后端·python·spring·面试
李少兄1 小时前
Spring 对象创建范式:依赖注入与直接实例化的边界抉择
java·后端·spring
小马爱打代码1 小时前
Spring源码中的设计模式实战:从理论到源码的深度解析
java·spring·设计模式
老码观察1 小时前
数环通iPaaS架构设计的结构化与模块化方法论——从高内聚低耦合到工程落地的完整指南
java·服务器·网络