2012-02-22 267 views
2

我們有一個構建在spring之上的框架,我們希望devs能夠覆蓋我們的默認bean。因此,在我們的「自定義工程師」(我希望我們沒有自定義工程師)的情況下,我們有一個自動裝入主題bean的界面。Spring框架和覆蓋默認bean

我們如何讓用戶能夠實現相同的接口,並將該bean自動裝入我們的themer類而不是默認的on。比方說,接口是調用NLSER,我們的默認實現是NLSERConcrete,最終用戶/開發者怎麼會注入CustomerNLSER呢?

回答

3

在XML中使用@Primary註釋或primary="true" bean屬性。這是默認的bean:

@Service 
public class NLSERConcrete implements NLSER {//... 

//...in different class 
@Autowired 
private NLSER nlser; 

現在,如果開發人員添加:

@Service 
@Primary 
public class CustomerNLSER implements NLSER {//... 

到CLASSPATH和Spring把它撿起,它會自動裝配中的過程是首選。