我在考虑我的一些服务。其中一些看起来像这样:
@Service
public class UserService {
@Autowired
UserDao dao;
@Autowired
OtherService1 serv1;
@Autowired
OtherService2 serv2;
@Autowired
OtherService3 serv3;
....
}
我在想.. 如果这种将其他服务自动装配成单个服务的概念很常见,为什么不创建一个“主服务”:
@Service
public class MasterService {
@Autowired
OtherService1 serv1;
@Autowired
OtherService2 serv2;
@Autowired
OtherService3 serv3;
...
@Autowired
LastService servN;
}
并将此服务自动装配到所有服务中。
@Service
public class AnyService {
@Autowired
MasterService masterSevice;
}
这样我们每个服务就不会有很多服务,但只有一个来统治它们。
提出两个问题:
1)由于 masterService 包含所有服务,我们在注入中有一个循环。我们能解决吗?
2) 如果问题 1 的答案是“是” - 这是“masterService”的好习惯吗?