2016-04-06 10 views
0

アノテーションでのみ呼び出すクラスを選択できますか?例えば、私は私のクラス "TEST_2" を呼び出す必要がアノテーションのみで同じインタフェースを実装する異なるクラスで@autowiredを使用する方法

インタフェース:

public interface Inter { 

public void useInterface(); 

} 

クラス1:

public class Test_1 implements Inter { 

public void useInterface(){ 
    System.out.println("Instance Class Test_1"); 
} 
} 

クラス2:

public class Test_2 implements Inter { 

public void useInterface(){ 
    System.out.println("Instance Class Test_2"); 
} 
} 

クラスコール:

public class Call { 

@Autowired 
private Inter inter; 

public Call(){ 
    inter.useInterface(); 
} 

} 
+0

缶を使用あなたはホを見せますApplicationContextを設定しましたか? –

答えて

5

anotateあなたのクラスをこのように:

@Component("test1") 
public class Test_1 implements Inter { 

    public void useInterface(){ 
     System.out.println("Instance Class Test_1"); 
    } 
} 

@Autowired 
@Qualifier("test1") 
private Inter inter; 
+0

派手な名前が必要な場合を除き、Springは自動的に小文字でクラス名を使用します。 – dambros

+0

@dambros oh、知っておいてよ、thx – JohnnyAW

2

あなたはすなわち、修飾子を使用する必要があります。

@Autowired 
@Qualifier("test_2") 
private Inter inter; 
関連する問題