2016-05-20 6 views
1

クラスがあり、Springではなくインスタンス化されているとします。たとえば、デシリアライザまたはJavaFXによってインスタンス化できます。サードパーティのBeanにプロパティを注入できますか?

Spring Beanをコード化して後でプロパティを注入するのと同じ方法でこれらのクラスをコーディングできますか?

実際には、リフレクションでクラスをスキャンし、すべての@Autowired注釈を見つけ、アプリケーションコンテキストから値を注入するルーチンが欲しいですか?

applicationContext.getBeanFactory().registerSingleton("myName", myBean)に電話すると、これが起こりますか?注意してください、私はシングルトンには限定されません。

+0

私は可能ではないと思います。 Springコンテナはプロキシオブジェクトを作成するため、元のラッパーでありBeanファクトリに登録されるためです。実際のインスタンスで動作するかどうかはコンテナの仕事をしようとすると疑いがあります。 – Beniton

答えて

0

BeanがSpringによってインスタンス化されていない場合、Springに依存性の注入やアドバイスを依頼できません。

これは私が春の新生児が作るのがよくある間違いです。アノテーションを付けてBeanをインスタンス化するためにnewを呼び出すため、依存関係が注入されない理由を理解できません。

Springは、Beanファクトリでインスタンス化するすべてのBeanを処理します。あなたは新しいものを使って作成された他のものと一緒にあなた自身であります。

+0

さて、それは私のものではなく、「春」新生児です。これらはSpringの新生児であるJavaFX開発者です:) – Dims

+0

何でも。 Springは、工場外で作成されたBeanについては責任を負いません。それを行うための独自のコードを書く必要があります。 JavaFX?私はそれが死んだと思った。さまざまなUI技術を選択できます。私は春にサポートされているものを選んでいます。 – duffymo

+0

なぜ、Spring内にすでに存在するコードを再利用できないのですか? – Dims

関連する問題