2012-02-22 91 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把它捡起,它会自动装配中的过程是首选。