Lombok 教程

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

Lombok 的三个构造方法注解@NoArgsConstructor,@RequiredArgsConstructor 和 @AllArgsConstructor 的用法 Lombok 的三个构造方法注解@NoArgsConstructor,@RequiredArgsConstructor 和 @AllArgsConstructor 的用法


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;

}