【发布时间】:2013-08-22 02:56:47
【问题描述】:
我正在考虑我的一些服务。 其中一些看起来像这样:
@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”的好习惯吗?
【问题讨论】:
标签: spring service autowired service-layer