我有UserService和MissionService。
可以在UserSerivce中注入(inject)MissionService吗?反之亦然?
如果是,那么单元测试呢?
最佳答案
当然可以,而且很好。但是我建议您使用方法注入(inject),以便允许您在运行时设置实例而不使用反射(可以手动创建实例)。
例如:
@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);
警告:您必须注意不要建立依赖循环。 我认为Spring并没有解决它们