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