私はインターフェースを持っています
@Component("a")
@Scope("prototype")
Public interface A{
.....
}
およびインターフェイス a を実装するb クラス
public class B implement A{
...
}
および Junit テストクラス
public class PartyTest {
private static BeanFactory factory = null;
@BeforeClass
public static void loadSpring() {
ClassPathXmlApplicationContext applicationContext =
new ClassPathXmlApplicationContext(new String[]{"/spring/mainContext.xml"});
factory = (BeanFactory) applicationContext;
}
@Test
public void personSaveTest() {
A a = (A) factory.getBean("a");
}
}
それは投げます
org.springframework.beans.factory. NoSuchBeanDefinitionException : 「a」という名前の Bean が定義されていません。
私の質問は、なぜインターフェイスを読み込めないのですか? そして@Component("b")
、クラスの上で使用すると、クラスb
をロードできますB
が、ロードできませんinterface A
。