在另一个服务中注入服务
2022-09-01 14:43:35
我有UserService和MissionService。
是否可以在 UserSerivce 中注入 MissionService,反之亦然?
如果是,那么单元测试呢?
我有UserService和MissionService。
是否可以在 UserSerivce 中注入 MissionService,反之亦然?
如果是,那么单元测试呢?
当然可以,而且完全没问题。但是我建议您使用方法注入,以便允许您在运行时设置实例,而无需使用反射(您可以手动创建实例)。
例如:
@Service
public class MissionService { }
@Service
public class UserService {
private MissionService missionService;
@Autowired
public void setMissionService(MissionService missionService) {
this.missionService = missionService;
}
}
这允许您在没有Spring的情况下使用常规Java创建这两个服务:
MissionService missionService = new MissioNService();
UserService userService = new UserService();
userService.setMissionService(missionService);
注意:您必须注意不要构建依赖关系周期。我认为,春天不会解决它们。