3 回答

TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊
此代碼也適用:
@Service
public class UserService implements Service {
@Autowired
private ApplicationContext applicationContext;
private Service self;
@PostConstruct
private void init() {
self = applicationContext.getBean(UserService.class);
}
}
我不知道為什么,但是似乎Spring可以從ApplicationContextif 創(chuàng)建但未初始化的bean中獲取。@Autowired在初始化之前可以工作,并且找不到相同的bean。因此,@Resource也許在@Autowired之前和之后都可以使用@PostConstruct。
但是我不知道,只是猜測(cè)。無(wú)論如何,好問題。

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊
鑒于以上代碼,我看不到循環(huán)依賴性。您將某些Service實(shí)例注入U(xiǎn)serService。注入的Service的實(shí)現(xiàn)不一定需要是另一個(gè)UserService,因此不存在循環(huán)依賴性。
我不明白為什么要將UserService注入U(xiǎn)serService,但我希望這是一種理論上的嘗試。
添加回答
舉報(bào)