2017-01-12 154 views
0

我是Spring的新手,我想開始使用依賴注入。多個類的彈簧依賴注入

我有很多類,它們擁有依賴關係作爲接口引用,我用作爲參數發送給構造函數的對象填充它們。

我知道我可以分別配置每個類來爲特定實現注入每個依賴項,但這意味着如果我想要將特定依賴項的實現更改爲所有類,那麼我需要更改每個類,我想成爲能夠在一個地方爲所有班級做到這一點。

這樣做的最好方法是什麼?

+1

我不太明白。通常情況下,你只需要在一個地方更換你的bean,並且它隨處可見。爲什麼你需要改變注入bean的類中的任何東西?如果你發佈一些代碼來說明你的問題,可能會很好。 – lexicore

+0

例如,如果我有跨應用程序的多個類中的通知接口,並且我有EmailNotification實現,但現在我寫了SMSNotification,而我想用它來代替。 –

回答

1

在你的類,你會注入接口:

public class Foo { 

    @Autowried 
    private Boo boo; 
} 

然後,你將控制其植入被添加到Spring容器:

@Service 
public class BooImpl implements Boo { 

} 

現在,所有你需要做的是改變實現。

如果可能的話,我會用春天開機,您可以下載例子並運行馬上https://spring.io/guides/gs/spring-boot/

+0

有人也可以添加我需要爲此編寫的beans.xml嗎? –

+0

@GiladBaruchian我已經更新了我的答案,看看Spring Boot的例子。 –