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 サイトの他の関連記事を参照してください。

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します

この記事では、分散アプリケーションを構築するためのJavaのリモートメソッドの呼び出し(RMI)について説明します。 インターフェイスの定義、実装、レジストリのセットアップ、およびクライアント側の呼び出しを詳述し、ネットワークの問題やセキュリティなどの課題に対処します。

この記事では、ネットワーク通信のためのJavaのソケットAPI、クライアントサーバーのセットアップ、データ処理、リソース管理、エラー処理、セキュリティなどの重要な考慮事項をカバーしています。 また、パフォーマンスの最適化手法も調査します

この記事では、カスタムJavaネットワーキングプロトコルの作成を詳述しています。 プロトコルの定義(データ構造、フレーミング、エラー処理、バージョン化)、実装(ソケットを使用)、データシリアル化、およびベストプラクティス(効率、セキュリティ、メンテナ


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Dreamweaver Mac版
ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境
