2016-03-30 17 views
0

のHyと抽象クラスを拡張するクラスのリストを注入抽象クラスを継承するクラスのリストを挿入しようとしています<p></p>は、私は次のコードを持って、春

@Component 
public class SpringClass{ 

    @Autowired **//It doesnt work, nothing is inyected!** 
    List<MyClass> classes 

} 

私の問題は、それはdoesnt仕事、それはプロパティクラスでMyClassを拡張するクラスのリストを注入しません。どうして?

おかげ

+1

これはSpring 3.1以降で動作するはずです。 http://stackoverflow.com/questions/1450145/spring-list-beans-by-type注射は通常の場合(例えばMyClass1を注入するだけ)で機能し、リストでは機能しませんか? –

+0

コンポーネントがスキャンされていますか? – luboskrnac

+0

はい、コンポーネントがスキャンされますが、インターフェイスを使用すると、抽象クラスnoを使用するとリストが不正になります。それは、リストまたは単一の要素を注入しようとすると問題ではありません、それは抽象クラスで動作しません – user3254515

答えて

0

あなたはインスタンス変数のため@Autowired注釈を削除し、setterメソッドに追加することができます。この後、春のクラスは

import java.util.List; 

import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.stereotype.Component; 

@Component 
public class SpringClass { 

    List<MyClass> classes; 

    @Autowired 
    public void setClasses(List<MyClass> classes) { 
     this.classes = classes; 
    } 


} 

となります。

+0

(@Autowiredはどこにありますか)は問題ではありません。 –

関連する問題