私は春の新作です。私はsetterメソッドなしでTestDAOをautowireしようとしています。しかし私はautowireに失敗しました。セッターのない春のオートワイヤー
System.out.println( "TestClass.testDAO" + testDAO); nullを返します。
ロックを解除するのを手伝ってください。
私のXML設定:
<context:component-scan base-package="com.test" />
<context:annotation-config/>
<bean id="testClass" class="com.test.TestClass" autowire="byName">
</bean>
Javaクラス:
@Component
public class TestClass {
@Autowired(required=true)
public TestDAO testDAO = null;
{
System.out.println("TestClass.testDAO "+testDAO);
}
}
@Repository
public class TestDAO{
}
、それがお役に立てば幸いです。初期化子はコンストラクタの一部であり、コンストラクタがオブジェクトを構築した後にのみスプリングは依存性を注入できます。その時点でそれはそうです。それはそれが後に注入されるので、それはまだ「ヌル」です。 –
ありがとうDeinum。私は考えを得ることができません..あなたは私のコードを修正するために助けてくださいできます..本当に私は苦労しています。 – DEADEND
どうやって存在しないオブジェクトに何かを注入することができますか?あなたはどうやってそれをしますか?初期化子ブロックが '{} 'の間の部分をコンストラクタにコピーします...その時点ではまだnullです...コンストラクタで' @ Autowired'フィールドを使うことはできません。 –