0

コア Java/リフレクションを使用して作成依存オブジェクトを読み込み、依存関係としてその他に設定する方法はありますか?

私はそれを行うことができましたが、ネストされた Bean を処理する際に直面している問題です。

結局のところ、簡単な使い方に春を使うことに興味はありません。

どんな助けでも大歓迎です。

4

4 に答える 4

3

私はそれを手動で行わないことをお勧めします、それを正しくするのは難しいです、そしてたくさんの解決策がすでに存在するのになぜ車輪を再発明するのですか?--Javaの
依存性注入仕様はJSR-299であり、Springを使用したくない場合は、リファレンス実装としてWeldライブラリを使用できます。軽量のDIフレームワークであるGuice
フレームワーク も検討できます。

于 2012-09-13T12:14:47.450 に答える
2

DI を使用するためのフレームワークは必要ありません。

あなたはできる

  • new などですべてのオブジェクトを作成する
  • コンストラクターを介してすべての必須オブジェクト/引数を渡します。
  • セッターを介してオプションの引数を渡します。
  • セッターを介して後でのみ構築できるオブジェクトを渡します。

これを行うために独自の IoC を作成することもできますが、シンプルにしたい場合は、Java で作成するのが最適です。

ところで: 実行時の読み込みが必要な場合は、必要に応じて実行時に Java コードをコンパイルして読み込むことができます。

于 2012-09-13T12:18:51.300 に答える
1

ここで車輪を再発明するつもりはありません。軽量の依存性注入コンテナーを使用する必要がある可能性があります。

おそらく、この投稿は選択を行うのに役立ちます: DI コンテナー

お役に立てれば

于 2012-09-13T12:18:33.653 に答える
0

私はそれを自分で書きました。

ただし、いくつかの前提条件があります

  1. xml をフォーマットして、パーサーの負荷を軽減します。<bean id="xyz" class="package path of class">クラスを宣言するためのxml要素、<parameter name="xyz" value="val"> または<parameter name="xyz" ref="beanid">インスタンス変数を定義しました。パラメータは別のオブジェクトの値または参照を指すことができます
  2. パーサー側では、リフレクションを使用してすべての Bean が作成され、ハッシュマップにポストされます。そこから、参照または値によってパラメーターを使用して依存関係を注入できます。

ものすごく単純。すべてのコメントをありがとう

于 2012-10-03T09:10:16.133 に答える