lombok 使用 @RequiredArgsConstructor 注解完成 spring 注入问题

Spring 依赖注入方式主要有 2 种,一是通过 @Autowire、@Resource 等注解注入,二是通过构造器的方式进行依赖注入。除此之外,其实 lombok 的 @RequiredArgsConstructor 注解也可以完成 spring 的依赖注入,且更简便,更灵活。
@Autowire、@Resource 等注入方式
目前使用最广泛的是 @Autowired、@Resource 注入方式:

@Service
public class MessageServiceImpl implements MessageService {

    @Autowired
    private PushService pushService;
    @Resource
    private AdminService adminService;

}

构造器注入
spring 通过构造器注入依赖,示例如下:

@Service
public class MessageServiceImpl implements MessageService {

    private final PushService pushService;
    private final AdminService adminService;

    public MessageServiceImpl(PushService pushService, AdminService adminService) {
        this.pushService = pushService;
        this.adminService = adminService;
    }
}

@RequiredArgsConstructor 注入
@RequiredArgsConstructor 注解可以更简洁地实现构造器的注入,具体如下:

@Service
@RequiredArgsConstructor
public class MessageServiceImpl implements MessageService {

    final PushService pushService;
    final AdminService adminService;

}

转载地址:
https://www.knowledgedict.com/tutorial/lombok-constructor-annotation.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,可以使用Lombok库中提供的`@RequiredArgsConstructor`注解来生成构造函数,并且将标记为`@NonNull`的属性作为参数注入到构造函数中。 要利用`@RequiredArgsConstructor`进行类的注入,需要按照以下步骤进行操作: 1. 在类中使用`@RequiredArgsConstructor`注解。例如: ``` import lombok.RequiredArgsConstructor; @RequiredArgsConstructor public class ExampleClass { private final Dependency dependency; private final AnotherDependency anotherDependency; // ... } ``` 2. 确保依赖项已经被注入。如果使用Spring框架进行依赖注入,则可以在配置文件中声明这些依赖项。例如: ``` @Configuration public class AppConfig { @Bean public Dependency dependency() { return new Dependency(); } @Bean public AnotherDependency anotherDependency() { return new AnotherDependency(); } @Bean public ExampleClass exampleClass() { return new ExampleClass(dependency(), anotherDependency()); } } ``` 在这个例子中,`dependency()`和`anotherDependency()`方法返回`Dependency`和`AnotherDependency`实例,`exampleClass()`方法返回一个`ExampleClass`实例,并将`Dependency`和`AnotherDependency`实例作为参数传递给构造函数。 3. 在需要使用`ExampleClass`实例的地方进行注入。如果使用Spring框架,则可以使用`@Autowired`注解进行注入。例如: ``` @RestController public class ExampleController { private final ExampleClass exampleClass; @Autowired public ExampleController(ExampleClass exampleClass) { this.exampleClass = exampleClass; } // ... } ``` 在这个例子中,`ExampleController`类使用`@Autowired`注解将`ExampleClass`实例注入到构造函数中。 通过使用`@RequiredArgsConstructor`注解,可以方便地生成构造函数,并将依赖项作为参数注入到构造函数中,从而实现类的注入

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值