我在想我的一些服務。 他們中有些人是這樣的:春季服務層 - autowire所有服務
@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」是一種好的做法嗎?
1.引用(公共接口)2.優點是所有公共服務都可以從任何服務中獲得,並且不需要在每個服務中自動裝配大量服務。而且,當你使用xml的時候,優勢更大 – Urbanleg