JavaRush /Java Blog /Random-JA /Spring を使用する利点
Alex
レベル 37

Spring を使用する利点

Random-JA グループに公開済み
多くの初心者開発者は、遅かれ早かれ、 Java でアプリケーションを開発するための人気のあるフレームワークであるSpringに出会うことになります。Spring でできることの主な点は、開発者にとって J2EE アプリケーションの開発を簡素化することです。Spring を使用することで開発者が得られる主な利点は次のとおりです。
Spring を使用する利点 - 1
  • Spring は、将来のアプリケーションに「空白」が必要な場合に、将来のアプリケーション用のフレームワークを提供します。同時に、フレームワークはアプリケーションを構築するためのルールを決定します。機能を構築する必要がある特定のアプリケーション アーキテクチャが存在します。この機能は実際にはアプリケーションのビジネス ロジックになります。Spring には、特定の機能に合わせた多くのサブプロジェクト (SpringMVC、Spring Security、SpringData など) が含まれており、開発者はその中から自分に最適なものを選択できます。残りの部分は使用しないでください。これはアプリケーションを構築するためのモジュール原則です。

  • Spring ベースのアプリケーションでは、オブジェクトは依存関係注入を使用して疎結合されます。Spring の目標の 1 つは、一部のオブジェクトの他のオブジェクトへの依存関係を解消することでした。依存症とは何ですか?これは、Object1 が別の Object2 のメソッドを使用する場合です。つまり、Object1 は、使用するメソッドである Object2 に依存します。なぜ彼は依存するのでしょうか?ただし、オブジェクト Object2 が作成されるまで、Object1 はその機能を実装できません。依存症を断ち切るには?コンストラクターまたはセッターを介して、Object2 オブジェクトへの参照を Object1 オブジェクトに「挿入」します。このプロセスは実際には依存関係の注入です。Spring では、オブジェクトはインターフェイスに基づいて構築される必要があるため、その後の実装の置き換えに備えて依存関係がインターフェイスの形式で注入されることを覚えておくことが重要です。

  • new 演算子を使用してオブジェクトを手動で作成する必要はありません。この関数は Spring コンテナーに委任されています。これは制御の反転 (IoC)、つまり必要な依存関係 (オブジェクト) をインスタンス化する機能をコンテナーに転送します。あなたが尋ねるこれらすべてにおいて、開発者の役割は何ですか? コンポーネントが Spring コンテキストに入るように宣言します。Spring のコンテキストは、簡単に言えば、すべての Bean が配置されているマップです。Bean が Spring のコンテキスト内にあると言われる場合、Bean はマップ内にあり、Spring はマップからそれを取得するためのキーを知っていると考えてください。XML 構成内または @Component アノテーションを持つクラス内で Bean としてマークされているものはすべてインスタンス化され、Map<key,bean> マップ形式のマップに配置されます。コンテナには、すべての Bean を「格納」するマップがあります (Spring の重要な概念は Bean であり、これはコンテナによって管理されるエンティティです。Bean (通常のクラス) が管理されるようにするには、Bean が以下に分類される必要があります) Spring コンテキスト)、必要に応じて実装すると、コンテナは次のような処理を行います。map.get(key)、キーはフィールドの型です。

  • Spring を使用すると、オブジェクトを作成する必要だけでなく、オブジェクトを関連付ける必要もなくなります。たとえば、@Autowired アノテーションを使用すると、コンポーネントを自動的に配線できます。@Autowired スプリング アノテーションは次のように簡単に説明できます。親愛なる友人、スプリング コンテナー、Bean を含むマップを調べて、クラスのインスタンスがあるか、または私が前に立っているものの実装があるかどうかを確認してください。存在する場合は、その前に私が宣言されているフィールドのリンクを教えてください。自動リンクにより、コンポーネントの依存関係を判断する際のコードの量を削減できます。

  • Spring では、Bean 設定はプログラム コードから分離されています。構成 (依存関係管理) を別のファイルに移動すると、プロジェクトでの後続の変更 (実装の置き換え) が容易になります。


    • テスト容易性が向上しました。クラスが DI とインターフェイスに基づいて設計されている場合、テスト中に依存関係を (偽の実装で) 簡単に置き換えることが可能になります。

    • 注釈を使用して宣言型スタイルでプログラムできるため、アプリケーション内のコードの量が削減されます。

    • データ アクセス テクノロジ、トランザクション、AOP のサポートと優れた統合により、開発が簡素化されます。

    • 優れたドキュメントは、アプリケーションをデバッグするときに非常に役立ちます。
春について理解したい人には、K. Walls を読むことをお勧めします。Spring in Action - 3rd Edition、そしてもちろん公式ドキュメント。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION