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

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

声明
この記事はCSDNで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
怎么开多个头条账号?申请头条号小号的流程是什么?怎么开多个头条账号?申请头条号小号的流程是什么?Mar 22, 2024 am 11:00 AM

随着移动互联网的普及,今日头条已经成为我国最受欢迎的新闻资讯平台之一。许多用户希望在头条平台上拥有多个账号,以满足不同的需求。那么,如何开多个头条账号呢?本文将详细介绍开设多个头条账号的方法和申请流程。一、怎么开多个头条账号?开设多个头条账号的方法如下:在头条平台上,用户可以通过不同的手机号码注册账号。每个手机号只能注册一个头条账号,这意味着用户可以利用多个手机号注册多个账号。2.邮箱注册:使用不同的邮箱地址注册头条账号。与手机号码注册类似,每个邮箱地址也可以注册一个头条账号。3.第三方账号登录

抖音睡眠主播有收益嘛?睡眠直播的具体流程有哪些?抖音睡眠主播有收益嘛?睡眠直播的具体流程有哪些?Mar 21, 2024 pm 04:41 PM

在当今这个快节奏的社会,睡眠质量问题困扰着越来越多的人。为了改善用户的睡眠质量,抖音平台上出现了一群特殊的睡眠主播。他们通过直播与用户互动,分享睡眠技巧,提供放松的音乐和声音,帮助观众安然入睡。那么,这些睡眠主播是否有收益呢?本文将围绕这一问题展开探讨。一、抖音睡眠主播有收益嘛?抖音睡眠主播确实能够获得一定的收益。首先,他们可以通过直播间的打赏功能获得礼物和转账,这些收益取决于他们的粉丝数量和观众满意度。其次,抖音平台会根据直播的观看量、点赞量、分享量等数据,给予主播一定的分成。一些睡眠主播还会

崩坏星穹铁道行过死荫之地任务攻略流程崩坏星穹铁道行过死荫之地任务攻略流程Mar 28, 2024 pm 01:10 PM

崩坏星穹铁道行过死荫之地怎么做?行过死荫之地是主线任务【鸽群中的猫】其中一环,也是主线的最后阶段,下面小编带来崩坏星穹铁道行过死荫之地任务详解,感兴趣的小伙伴们快来看看吧。1.过完上一阶段剧情后,会自动传送到下图位置,和三月七对话后进入副本,记得组好队2.备用方案是要打【石心十人】诡异砂金,队伍四个角色战术和终结技最好都是群攻,最好带上盾和奶,这个【石心十人】诡异砂金不好打,摇骰子的时候,如果你的点数大于砂金就不会被打,并且结束后回满终结技能量,小于就会被打,所以尽量带群攻角色打点数。在boss

崩坏星穹铁道所有悲伤的故事任务攻略流程崩坏星穹铁道所有悲伤的故事任务攻略流程Mar 28, 2024 pm 01:26 PM

崩坏星穹铁道所有悲伤的故事怎么做?所有悲伤的故事是主线任务【鸽群中的猫】其中一环,此阶段流程比较长,下面小编带来崩坏星穹铁道所有悲伤的故事任务详解,各位朋友们来看看吧。1.完成前一阶段之后,会自动传送到第2个新地图【克劳克影视乐园】,一路追踪任务从1【弹珠机】去2位置跟着第3位角色发挥,完成剧情后,前往第4位位置和小孩对话,完成小游戏【速度与坚果】,类似天天酷跑的小游戏很简单。3.接着追踪任务从下图1位置【弹珠机】飞到2位置4.到下图位置后,需要走迷宫,从左边进去后,一直靠右走即可到达1任务点5

php-fpm请求处理流程详解与优化策略php-fpm请求处理流程详解与优化策略Jul 07, 2023 pm 01:52 PM

php-fpm请求处理流程详解与优化策略一、引言在Web应用开发中,PHP是一种非常流行的服务器端脚本语言。而php-fpm(FastCGIProcessManager)则是PHP的一种管理器,用于处理PHP请求。本文将详细介绍php-fpm的请求处理流程,并探讨如何优化php-fpm,提升Web应用的性能。二、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构建大数据应用的基本流程,包括数据处理、存储与分析三个方面。一、数据处理数据处理是大数据应用的第一步,其目的是将数据从各个来源采集过来,并进行初步处理和清洗,以便存储和分析使用。PHP可以使用

ホット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ヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

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

EditPlus 中国語クラック版

EditPlus 中国語クラック版

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