2017-07-20 2 views
0

私は@ComponentアノテーションでアノテーションされたSpringクラスを持っています。そして私は、ローカル変数にbeanを注入する必要があります。 @Component SpringクラスにマネージドBeanまたはEJB varを挿入するにはどうすればよいですか?あなたのコンテキストは、注釈の設定とあなたが注入しようとしている豆のために設定されているとするとマネージドBeanを@Component Springクラスに挿入するにはどうすればよいですか?

@Component 
public class AppInternetAuthenticationProvider implements AuthenticationProvider, Serializable { 

    private IAutenticacaoBO autenticacaoBO; 

    public void setAutenticacaoBO(IAutenticacaoBO autenticacaoBO) { 
     this.autenticacaoBO = autenticacaoBO; 
    } 

    public AppInternetAuthenticationProvider() { 

    } 

    @Override 
    public Authentication authenticate(Authentication authentication) throws AuthenticationException { 
// I need inject here 
+0

あなたの 'IAutenticacaoBO'は' Spring'によって管理されていますか? –

+0

'spring-security.xml'で宣言されたフィールドを挿入するために使用されるインターフェイスです。 – BicaBicudo

+0

そうなら、@ ced-bからの答えが働くはずです。 –

答えて

0

ですIAutenticacaoBOあなただけのセッター前@Autowired注釈を追加する必要があります。あなたは、必ずしもあなただけのプライベート属性の前に@Autowired注釈を追加することができ、すべてのセッターを必要としない実際のところ

@Autowired 
public void setAutenticacaoBO(IAutenticacaoBO autenticacaoBO) { 

  1. フィールド注入
  2. セッターインジェクション
  3. コンストラクタ・インジェクション

フィールド:

@Autowired 
private IAutenticacaoBO autenticacaoBO; 
0

@Autowiredは、今述べたメンバーの前で私が知っ三種類ありますが、注入は落胆し、IDEAのようなIDEはここでうんざりします。 セッター注入は再帰を導入することができるため、少し難解です。したがって、コンストラクター注入を行っています。 Spring> 5(または> 4.3.x?)では、もう@Autowiredは必要ありません。すべて魔法のように起こります。

関連する問題