Struts、Hibernate、Spring は Java 開発でよく使用されるキーであり、さまざまなアプリケーション シナリオに最適なソリューションを提供します。しかし、これらの有名なフレームワークがもともとどのようにして生まれたかご存知ですか?
推奨コース: Java チュートリアル 。
従来の Java Web アプリケーションは、JSP サーブレット Javabeans を使用して実装されていることはわかっています。このモデルは、最も基本的な MVC 階層化を実装し、プログラム構造を次のようないくつかの層に分割します。フロントエンド表示を担当する JSP、プロセス ロジック制御を担当するサーブレット、データのカプセル化を担当する Javabean。ただし、この構造にはまだ問題があります: たとえば、JSP ページでは、多くの Java コードを埋め込むためにシンボルを使用する必要があり、その結果、ページ構造が混乱してしまいます。サーブレットと Javabean は、多くのジャンプと計算、密結合、プログラムの再利用性が低いなど。
Java の 3 つの主要なフレームワークは次のとおりです:
1. Struts
これらの問題を解決するために、Strutsフレームワークが登場しました, これは完璧な MVC 実装です. 中央制御クラス (サーブレット) があります. さまざまなビジネスのために, ページ ジャンプとバックグラウンド ロジック操作を担当する Action クラスと、1 つまたは複数の JSP ページが必要ですデータの入力と出力の表示を担当します。また、Action と JSP の間でデータの受け渡しを担当する Form クラスもあります。 Struts フレームワークによって提供されるタグのセットは JSP で使用でき、HTML タグを使用するのと同じくらい簡単ですが、非常に複雑なロジックを完成させることができます。今後は、JSP ページ内で Java コードを囲む行を含める必要はなくなります。
ただし、すべての操作ロジックを Struts の Action に配置すると、Action クラスの再利用性が低くなり、ロジックがわかりにくくなるため、Web アプリケーション全体を 3 つの層に分けることが一般的です。Struts は表示層を担当します。ビジネス層は操作ロジックを完了するために呼び出され、次にビジネス層は永続化層を呼び出してデータベースの読み取りと書き込みを完了します。
JDBC 接続を使用してデータベースの読み取りと書き込みを行います。最も一般的なことは、データベース接続を開き、複雑な SQL ステートメントを使用して読み取りと書き込みを行い、接続を閉じることです。取得したデータは変換する必要がありますまたはカプセル化して外部に送信するなど、非常に面倒なプロセスです。
2. Hibernate
Hibernate フレームワークがこの時点で表示され、一連の永続クラスを作成する必要があります。各クラスの属性は次のように単純に表示できます。データベーステーブルの属性と1対1に対応しており、もちろんリレーショナルデータベースの各種テーブルファイルと関連付けることも可能です。関連する操作が必要な場合、データベース テーブルに注意を払う必要はなくなります。データベースを 1 行ずつクエリする必要はなくなり、永続クラスだけで追加、削除、変更、クエリの機能を完了できます。ソフトウェア開発を、煩雑なコード指向ではなく真のオブジェクト指向にします。私の感覚では、Hibernate を使用すると、JDBC と比較してプログラミングの量が 80% 削減されます。
今、3 つの層がありますが、各層間の呼び出しは何でしょうか?たとえば、表示レイヤーの Struts がビジネス クラスを呼び出す必要がある場合は、新しいビジネス クラスを作成してそれを使用する必要があり、ビジネス レイヤーが永続レイヤー クラスを呼び出す必要がある場合は、新しい永続レイヤーも作成する必要があります。クラス。この新しい方法でお互いを呼び出すことは、ソフトウェア開発における最悪の設計の具現化です。簡単に言うと、呼び出し元と呼び出し先との間には強い結合が形成されており、あるクラスを別の場所で再利用したい場合には、そのクラスが依存している他のクラスも含める必要があります。プログラムは非常に複雑になり、各クラスは相互に依存し、相互に呼び出し、再利用性は非常に低くなります。クラスが変更されると、そのクラスに依存する多くのクラスが影響を受けます。この目的のために、Spring フレームワークが登場します。
3. Spring
Spring の機能は、クラス間の依存関係を完全に分離することです。クラスが何かに依存している場合、それはインターフェイスです。このインターフェースをどのように実装するかについては、問題ではありません。このインターフェイスを実装するクラスを取得すれば、xml 構成ファイルを介してインターフェイスを呼び出すクラスに実装クラスを簡単に挿入できます。すべてのクラス間のこの依存関係は、構成ファイルによって完全に置き換えられます。したがって、Spring フレームワークの中核は、いわゆる依存関係の注入と制御の反転です。
現在の構造は、Struts が表示層を担当し、Hibernate が永続層を担当し、Spring が中間ビジネス層を担当するというもので、この構造は現在中国で最も人気のある Java Web アプリケーション アーキテクチャです。 。また、Spring は依存性注入と AOP (アスペクト指向プログラミング) を使用しているため、その内部モデルが非常に優れており、Spring 自体も Spring MVC と呼ばれる依存性注入を使用した MVC フレームワークを実装しています。 Spring には Hibernate が統合されており、これによりトランザクション管理が Hibernate の永続層からビジネス層に昇格され、より便利かつ強力に使用できるようになります。
Struts フレームワークは 2000 年に開始され、そのテクノロジは非常に成熟しており、現在、Struts フレームワークは世界的な Java 開発における表示レイヤ テクノロジの明白な王様です。大規模なユーザーベースと優れた開発チームを持っています。これは、ほとんどの国内 Java ソフトウェア会社の新入社員に対する基本要件でもあります。 #########他の######
Java という用語は、オープン ソースと密接に関連付けられているようです。Java の世界では、毎日多数のオープン ソース テクノロジが登場しています。オープン ソースであるため、テクノロジの問題や欠陥はすぐに発見されます。オープンソース ソフトウェア プロバイダーはこれらのテクノロジをすぐに変更または拡張するため、バージョンはすぐに更新され、数週間または数日で新しいバージョンがリリースされます。
技術分野で Java を選択するとき、私たちは、学習を継続し、常に最新のテクノロジに注意を払い、それらを理解し、ニーズに合うかどうかを確認し、その使用方法を学ぶ必要があることも選択します。
Java の SSM との組み合わせも非常に優れており、誰でも学ぶことができます。
以上がJavaの3つの主要なフレームワークとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。