1

私はSpringFrameworkの初心者です。もちろん、Springについて最初に頭に浮かぶのは依存性注入です。Springフレームワーク(特に依存性注入について)について学び始めたばかりなので、間違っている可能性がありますが、上記のオブジェクトへのBeanの依存性注入はトランザクションデータ用ではないと思います。Beanの定義は、たとえばspring.xml(青写真)で定義されているため、トランザクションデータではなく、静的で少量のデータを対象としています。動的XML(実行時に作成)を使用して、何千ものトランザクションオブジェクトを別のオブジェクトに挿入する方法がないようです。

だから私はこれを正しくしましたか?もしそうなら、依存性注入の本当の利点は何ですか?

4

4 に答える 4

4

コンポーネントが独自の依存関係を満たすのではなく、依存関係注入コンテナーを使用することにはいくつかの利点があります。これらの利点のいくつかは次のとおりです。

  1. 依存関係の削減

  2. 依存関係の負担の軽減

  3. より再利用可能なコード

  4. よりテストしやすいコード

  5. より読みやすいコード

これらの利点については、こちらで詳しく説明しています。

于 2013-09-11T06:21:28.433 に答える
2

そうです、トランザクション データ (例: テーブルの行を表すデータ) は通常、宣言的に注入されません。Spring DI (依存性注入) は、複数のクラス間のコラボレーションを処理するために一般的に使用されます。

私が見た一般的な例は、DAO (データ アクセス オブジェクト) と MVC (モデル ビュー コントローラー) パターンです。エンタープライズ環境では、プロジェクトに数十または数百のデータベース テーブルがあるのが一般的です。したがって、数十または数百の DAO クラスがコントローラー クラスに挿入されます。

DIを使わない場合は、どのDAOを先に作成するか、どのDAOをどのコントローラーに注入するかなどを意識的に管理する必要があります(これは悪夢です)。

コードのリファクタリングも一般的なものです (すべきです)。ビジネス要件は常に変化します。DI がなければ、1 つの単純なリファクタリングで、「どのクラスが何にどこに依存しているか」という大規模でトリッキーな解きほぐしにつながる可能性があります。

于 2013-02-08T05:27:14.993 に答える
0

依存性注入と制御の反転は、制御フローを変更し、特定のコンポーネントに依存性グラフを管理し、それがどのように接続されるかを管理する責任を追加します。その結果、依存関係と依存関係が大幅に分離され、コードの保守性、アプリケーションの信頼性、およびテスト容易性が向上します。

于 2020-09-12T08:20:13.350 に答える