java – 在另一个服务中注入服务

我有UserService和MissionService.

可以在UserSerivce中注入MissionService,反之亦然?

如果是,那么单元测试呢?

最佳答案
当然你可以,它是完美的.但我建议您使用方法注入,以便允许您在运行时设置实例而不使用反射(您可以手动创建实例).

例如:

@Service
public class MissionService { }

@Service
public class UserService {
    private MissionService missionService;

    @Autowired
    public void setMissionService(MissionService missionService) {
        this.missionService = missionService;
    }
}

这允许您使用常规Java而不使用Spring创建两个服务:

MissionService missionService = new MissioNService();
UserService userService = new UserService();
userService.setMissionService(missionService);

警告:您必须注意不要构建依赖循环.我认为Spring没有解决它们

相关文章

Spring Cloud为Spring Boot应用程序提供Netflix OSS集成。 提供的功能模块包括服务发现(Eureka),断路...
Spring Cloud 学习笔记;maven配置;入门学习;基于Spring Boot 实现;服务端配置,客户端配置;
可以毫不夸张地说,这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的...
Spring中各种方式进行日期时间处理,有作用于单个实体的,也有作用于全局的,有作用于请求入参的,有作...
跨域资源共享(Cross-origin resource sharing)(CORS)是W3C的标准,大部分的浏览器都实现了这个标准...
Spring Boot使创建基于Spring的应用程序变得轻松,大部分的SpringBoot应用程序都只需要很少的Spring配置...