ホームページ よくある問題 ssmフレームワークの原理とプロセスは何ですか?

ssmフレームワークの原理とプロセスは何ですか?

Jul 18, 2020 pm 05:49 PM
プロセス

ssm フレームワークの原理は、Spring、SpringMVC、および MyBatis を、比較的単純なデータ ソースを持つ Web プロジェクト用のフレームワークとして統合することです。そのプロセスは次のとおりです。ハンドラー マッピングはリクエストに従って対応するハンドラーを検索し、ビジネス ロジックを呼び出して処理し、ビューの解析を実行します。

ssmフレームワークの原理とプロセスは何ですか?

SSM フレームワークの紹介
SSM (Spring SpringMVC MyBatis) フレームワーク セットは、2 つの Spring と MyBatis で構成されます。オープンソース フレームワークと統合されています (SpringMVC は Spring の一部です)。 SSM は、単純なデータ ソースを含む Web プロジェクトのフレームワークとしてよく使用されます。

SpringMVC
SpringMVC は、プロジェクト内のユーザー リクエストをインターセプトします。そのコア サーブレットである DispatcherServlet は、仲介者の役割を引き受け、HandlerMapping を通じてユーザー リクエストをコントローラーに照合します。コントローラーは、対応する特定のサーブレットによって実行される操作です。リクエスト。
SpringMVC フレームワーク実行プロセス

ユーザーはリクエストを DispatcherServlet に送信します。
DispatcherServlet はリクエストを受け取り、1 つ以上の HandlerMapping をクエリして検索して処理します。リクエストハンドラ;
HandlerMapping はリクエストに従って対応するハンドラを見つけ、Handler オブジェクトを生成して DispatcherServlet に返します;
DispatcherServlet は HandlerAdapter を通じて Handler を呼び出します;
Handler (Controller) はビジネス ロジック (サービス) を呼び出します;
HandlerAdapter は、Handler の処理結果 ModelAndView を DispatcherServlet に返します;
DispatcherServlet は 1 つ以上の ViewReslover (ビュー リゾルバー) をクエリし、指定された ViewReslover に ModelAndView を渡します;
After ViewReslover が解析され、特定の View が DispatcherServlet に返されます。
DispatcherServlet が View をレンダリングします (モデル データをビューに設定します)。
DispatcherServlet がユーザーに応答し、View が結果をクライアントに表示します。
プロセスは大まかに以下に示すとおりです:

ssmフレームワークの原理とプロセスは何ですか?

DispatcherServlet は Spring MVC 全体の中核であり、HTTP リクエストの受信、さまざまなコンポーネントの編成と調整を担当します。
a. 特定の形式に一致する URL リクエストをインターセプトする;
b. DispatcherServlet コンテキストに対応する WebApplicationContext を初期化し、DispatcherServlet の WebApplicationContext に関連付けます。ビジネス層と永続化層;
c. 初期化 Spring MVC の各コンポーネントは DispatcherServlet にアセンブルされます。
Spring
Spring は、プロジェクト全体で Bean を組み立てる大きな工場のようなもので、構成ファイルで、コンストラクターを呼び出すための特定のパラメーターの使用を指定できます。エンティティクラスのオブジェクトをインスタンス化します。プロジェクトにおける接着剤とも言えます。
Spring の核となる考え方は IOC (Inversion of Control) です。これは、プログラマが明示的にオブジェクトを新規作成する必要がなくなり、Spring フレームワークにすべてを任せることを意味します。 IOC コンテナは、アプリケーション内のオブジェクトのインスタンス化、検索、構成、およびこれらのオブジェクト間の依存関係の確立を担当します。 Spring の目的は、オブジェクト (モジュールとモジュール) 間の関係がコードを通じて関連付けられるのではなく、構成クラスの記述を通じて管理されるようにすることです (Spring は、これらの構成に基づいてリフレクションを通じて内部でオブジェクトを動的に組み立てます)。
IOC コンテナは、IOC コンテナの基本機能を提供する org.springframework.beans パッケージ内の BeanFactory インタフェースを表し、 org.springframework.context パッケージの ApplicationContext インタフェースは BeanFactory を拡張し、Spring との統合も提供します。 AOP、国際化処理、イベント伝播、およびさまざまなレベルのコンテキスト実装の提供。
簡単に言えば、BeanFactory は IOC コンテナの最も基本的な機能を提供し、ApplicationContext はエンタープライズレベルの機能のサポートを追加します。 ApplicationContext は BeanFactory を完全に継承するため、BeanFactory のセマンティクスは ApplicationContext にも適用されます。
春のランニングプロセス

設定ファイル、ApplicationContext インターフェイスをロードします。構成ファイル内の Bean 情報は HashMap にロードされます。Bean には通常、ID、クラス、プロパティなどが含まれます。Bean の ID は HashMap 内のキーに対応し、HashMap 内の値が Bean です。
getBean メソッドを呼び出します。getBean は、applicationContext.xml ファイル内の Bean を取得するために使用されます。パラメータは Bean の ID です。一般に、対応するビジネス層(インターフェース)への変換が強制されます。
ビジネス層(インターフェース実装)のメソッドを呼び出します。
Bean 内のコンテンツはどのように注入されるのでしょうか?簡単に言うと、Bean がインスタンス化されるとクラスも実際にインスタンス化され、リフレクションを通じてクラス内の set メソッドを呼び出し、HashMap に保存されているクラス属性をクラスに注入します。これにより、Java の本来の場所、object.property、object.method に戻ります。
Mybatis
Mybatis は jdbc のカプセル化であり、データベースの基礎となる操作を透過的にします。 Mybatis の操作はすべて sqlSessionFactory インスタンスを中心に展開します。 Mybatis は、構成ファイルを通じて各エンティティ クラスの Mapper ファイルに関連付けられており、Mapper ファイルには、各クラスに必要な SQL ステートメントをデータベースにマッピングするように構成されています。データベースと対話するたびに、sqlSessionFactory を通じて sqlSession を取得し、sql コマンドを実行します。
Mybatis は、MapperProxy を通じて dao を動的にプロキシします。つまり、自分で作成した dao 内のメソッドを実行するとき、対応する MapperProxy が実際にプロキシとして機能します。
Mybatis の動作原理

設定ファイルの読み込み
パラメータ マッピング設定、実行 SQL ステートメント、結果として得られるマッピング構成はメモリに保存されます。
SQL 解析
API インターフェース層が呼び出しリクエストを受信すると、受信 SQL の ID と受信オブジェクト (Map/JavaBean または基本データ型の可能性があります) を受け取り、Mybatis は対応する1 つは SQL. MappedStatement の ID に基づいて行われ、その後、受信パラメータ オブジェクト MappedStatement に従って解析され、解析後、最終的に実行される SQL ステートメントとパラメータを取得できます。
SQL 実行
最終的な SQL とパラメータをデータベースに取得して実行し、データベースの操作結果を取得します。
結果マッピング
マッピング構成に従ってデータベースの操作結果を変換し、HashMap/JavaBean または基本データ型に変換し、最終結果を返します。

以上がssmフレームワークの原理とプロセスは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

複数の Toutiao アカウントを開くにはどうすればよいですか? Toutiao アカウントを申請するプロセスはどのようなものですか? 複数の Toutiao アカウントを開くにはどうすればよいですか? Toutiao アカウントを申請するプロセスはどのようなものですか? Mar 22, 2024 am 11:00 AM

モバイルインターネットの人気により、Toutiao は私の国で最も人気のあるニュース情報プラットフォームの 1 つになりました。多くのユーザーは、さまざまなニーズを満たすために Toutiao プラットフォームで複数のアカウントを持つことを望んでいます。では、複数の Toutiao アカウントを開くにはどうすればよいでしょうか?この記事ではToutiaoアカウントを複数開設する方法と申請手順を詳しく紹介します。 1. 複数の Toutiao アカウントを開くにはどうすればよいですか?複数の Toutiao アカウントを開設する方法は次のとおりです。 Toutiao プラットフォームでは、ユーザーはさまざまな携帯電話番号を使用してアカウントを登録できます。各携帯電話番号で登録できる Toutiao アカウントは 1 つだけです。つまり、ユーザーは複数の携帯電話番号を使用して複数のアカウントを登録できます。 2. 電子メール登録: 別の電子メール アドレスを使用して Toutiao アカウントを登録します。携帯電話番号の登録と同様に、各メール アドレスでも Toutiao アカウントを登録できます。 3. サードパーティのアカウントでログインします

Douyin スリープアンカーは儲かりますか?睡眠ライブストリーミングの具体的な手順は何ですか? Douyin スリープアンカーは儲かりますか?睡眠ライブストリーミングの具体的な手順は何ですか? Mar 21, 2024 pm 04:41 PM

今日のペースの速い社会では、睡眠の質の問題に悩まされる人がますます増えています。ユーザーの睡眠の質を向上させるために、特別な睡眠アンカーのグループがDouyinプラットフォームに登場しました。ライブ配信を通じてユーザーと交流し、睡眠のヒントを共有し、視聴者が安らかに眠りにつくのを助けるリラックスできる音楽やサウンドを提供します。では、このスリープアンカーは儲かるのだろうか?この記事ではこの問題に焦点を当てます。 1.Douyin スリープアンカーは儲かりますか? Douyin スリープアンカーは確かに一定の利益を得ることができます。まず、ライブ配信ルームの投げ銭機能を通じてギフトや送金を受け取ることができ、これらの特典はファンの数と視聴者の満足度によって異なります。次に、Douyin プラットフォームは、生放送の視聴数、いいね、シェア、その他のデータに基づいてアンカーに一定のシェアを与えます。一部のスリープアンカーは、

死の影を越えて崩壊したスタードーム鉄道のミッション攻略ガイド 死の影を越えて崩壊したスタードーム鉄道のミッション攻略ガイド Mar 28, 2024 pm 01:10 PM

崩壊したスタードーム鉄道で死の影を通過する場合はどうすればよいですか? Walking through the Shadow of Death は、メイン クエスト [Cat between Doves] の 1 つであり、メイン クエストの最終段階でもあります。以下では、編集者がこの Shadow of Death のミッションについて詳しく説明します。崩壊したスタードーム鉄道、興味のある方はぜひ見に来てください。 1. 前段階のプロットを完了すると、自動的に下の写真の場所に移動します。3 月 7 と会話した後、ダンジョンに入場します。チームを結成することを忘れないでください。 2. バックアッププランは戦うことです。 [ストーン ハート テン] 奇妙な砂金、4 つのチームで構成されます。最高のキャラクター戦術とフィニッシュ スキルはグループ攻撃であり、盾と牛乳を持参するのが最善です。この [ストーン ハート テン] 奇妙な砂金はヒットするのが困難です。サイコロを振って、得点が砂金より多ければ負けません、終了後は必殺技の量が全回復します、それ以下だと負けますので頑張ってください。グループ攻撃キャラクターを連れてポイントを獲得します。上司で

崩壊した星鉄道の悲しい物語のすべて ミッション攻略ガイド 崩壊した星鉄道の悲しい物語のすべて ミッション攻略ガイド Mar 28, 2024 pm 01:26 PM

崩壊したスタードーム鉄道の悲しい物語をどうするか? All Sad Stories はメイン クエスト [Cat between Pigeons] の一部です。この段階のプロセスは比較的長いです。以下では、編集者が崩壊したスター ドーム鉄道の All Sad Stories クエストについて詳しく説明します。友達、ぜひ参加してください。一見。 1. 前のステージを完了すると、自動的に 2 番目の新しいマップ [クローク映画テレビ公園] に移動します。1 [ピンボール マシン] から 2 の場所までミッションを進め、3 番目のキャラクターをフォローします。プロットを作成し、4番目の位置の子供に話しかけ、ミニゲーム[スピードとナッツ]を完了します。天天クールランに似たミニゲームは非常に簡単です。 3. 次に、追跡タスクは、下の写真の位置 1 [ピンボール マシン] から位置 2 まで飛行することです 4. 下の写真の位置に到着したら、迷路を歩く必要があります。右に歩くとタスクポイント 15 に到達します。

php-fpmリクエスト処理プロセスの詳細な説明と最適化戦略 php-fpmリクエスト処理プロセスの詳細な説明と最適化戦略 Jul 07, 2023 pm 01:52 PM

php-fpm リクエスト処理プロセスの詳細な説明と最適化戦略 1. はじめに Web アプリケーション開発において、PHP は非常に人気のあるサーバーサイド スクリプト言語です。 php-fpm (FastCGIProcessManager) は PHP のマネージャーであり、PHP リクエストを処理するために使用されます。この記事では、php-fpm のリクエスト処理プロセスを詳しく紹介し、php-fpm を最適化して Web アプリケーションのパフォーマンスを向上させる方法について説明します。 2. php-fpmリクエスト処理プロセス クライアントがリクエストを開始したとき

Vue 開発経験の共有: 開発プロセスと作業効率の最適化に関する経験 Vue 開発経験の共有: 開発プロセスと作業効率の最適化に関する経験 Nov 22, 2023 am 10:53 AM

Vue.js は、ユーザー インターフェイスやシングルページ アプリケーションを構築するための人気のある JavaScript フレームワークです。その簡潔な構文、柔軟性、強力な機能により、多くの開発者の最初の選択肢となっています。最近のプロジェクト開発において、私のチームと私は開発プロセスと作業効率の最適化に関して経験を蓄積してきましたので、それを皆さんと共有したいと思います。まず、Vue.js 開発の基礎として、Vue.js のエコシステムと中心となる概念を完全に理解する必要があります。 Vue.js の中核となる概念には、データ駆動型システムとコンポーネント システムが含まれます

Java言語によるソフトウェア開発プロセスの紹介 Java言語によるソフトウェア開発プロセスの紹介 Jun 10, 2023 am 11:07 AM

Java 言語は広く使用されているオブジェクト指向プログラミング言語であり、エンタープライズ レベルのソフトウェア開発で広く使用されています。 Java 言語では、ソフトウェア開発プロセスは非常に重要な部分であり、開発チームがソフトウェア開発タスクをより効率的に完了するのに役立ちます。この記事では、Java 言語でのソフトウェア開発プロセスを紹介し、各段階で完了する必要があるタスクについて説明します。要件分析フェーズ ソフトウェア開発の最初のステップは、ソフトウェア要件を決定することを目的とした要件分析を実行することです。 Java 言語での要件分析フェーズ中に、開発チームは次のことを行う必要があります。

PHP を使用してビッグ データ アプリケーションを構築する基本プロセス PHP を使用してビッグ データ アプリケーションを構築する基本プロセス May 11, 2023 pm 04:58 PM

近年、データ量の爆発的な増加に伴い、ビッグデータアプリケーションの需要が高まっています。 PHP は人気のあるプログラミング言語として Web 開発で広く使用されており、ビッグ データ アプリケーションの構築にも使用できます。この記事では、データの処理、保存、分析など、PHP を使用してビッグ データ アプリケーションを構築する基本的なプロセスを紹介します。 1. データ処理 データ処理はビッグデータ活用の最初のステップであり、その目的は、さまざまなソースからデータを収集し、保管、分析、使用するための前処理とクリーニングを行うことです。 PHPが使える