私はそうのようなその子クラスを注入したいビーンがあります。これは、次のエラーが発生しSpringでは、親Beanに子Beanを挿入するにはどうしたらいいですか?
package test;
@Component
public class Child extends Parent {
}
:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [test.Child] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency
親:
package test;
@Component
public class Parent {
@Autowired
Child child;
public Child getChild() {
return child;
}
}
子供を
extends Parent
ビットを削除すると、すべてがt o期待どおりに動作するので、Springが何らかの理由でシャドーイングしているように、SpringがChildを見つけることができないように見えます。これらの子インスタンスを正しく結び付けるためにSpringを設定するにはどうすればよいですか?私は、次のように、Javaクラスの設定を使用しています:
@Configuration
@ComponentScan(basePackages = "test")
public class AppConfig {
}
私は@Qualifier
注釈で遊んと助けにはならなかった、以下、同様にAppConfig
内の異なる名前を割り当てる試してみました:
@Bean(name = "parent")
public Parent parent() {
return new Parent();
}
@Bean(name = "child")
public Child child() {
return new Child();
}
SpringにChildクラスがそれ自身の別個のエンティティとして見えるようにするために欠けている成分が何であるか分かりません。これは不可能ですか? Child
ので
初期のエラーでこれは@ user108471で失敗します。私は、Spring 4.2.3をLinux上で使用するSpring Boot 1.3.3とJDK 8を使用しています。 –
@JanNielsen申し訳ありませんが、私は別の重要な変更を省いたようです:子クラスに明示的な名前を追加します。 – user108471