2012-02-22 16 views
2

私たちはSpringの上に構築されたフレームワークを持っており、DevsにデフォルトBeanをオーバーライドできるようにしたいと考えています。だから私たちの "カスタムテーマ"の場合(私たちはカスタムテーマを持っていないことを望みます)、我々はテーマbeanにオートワイヤリングするインターフェースを持っています。SpringフレームワークとデフォルトBeanのオーバーライド

ユーザーに同じインターフェイスを実装できるようにするにはどうすればいいですか?デフォルトのオンではなく、テーマクラスにautowiredされたBeanがあります。インターフェイスが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し、春にそれを拾って、それはオートワイヤリングのプロセスに好ましいであろう。

関連する問題