私は2つのコンポーネントA
とB
を持っています。 A
はB
に依存します。それは完全によく働いた春の自動配線と注釈設定
public class A {
private B b;
@Autowired
public void setB(B b) {
this.b = b;
}
}
@Component
public class B {}
new XmlBeanFactory(new FileSystemResource("./spring.xml")).getBean(A.class);
設定
<context:annotation-config/>
<context:component-scan
base-package="com">
</context:component-scan>
<bean class="com.A" autowire="byType" />
:私は次のように書きました。今私はA
も注釈で構成したい。だから私はA
@Component
public class A {
private B b;
@Autowired
public void setB(B b) {
this.b = b;
}
}
に@Component注釈を追加し、設定からA
記述を削除しました。だから、ただ
<context:annotation-config/>
<context:component-scan
base-package="com">
</context:component-scan>
しかし、Bはもはや注入されません。おそらく私はautowiringタイプかsmtをそのように指定するべきです。だから私はそれを修正することができますか?
例外が発生するのですか、「B」は単に「ヌル」ですか?両方のクラスが同じパッケージに入っていますか? –
@Benjamin Muschkoちょうどヌルです。同じパッケージで。すべてのクラスを 'com'パッケージに入れます –