SSM從入門到上手-全面講解SSM框架的使用.

一、SSM框架整合

????????將Spring、Spring MVC和MyBatis結合在一起,形成一個高效且易于維護的Web應用程序架構。具體整合的方式如下:

????????Spring管理Bean:Spring負責管理所有的Java對象,包括Service層、DAO層等。通過Spring的IoC容器進行依賴注入(DI)。

????????Spring MVC處理請求:當用戶發起請求時,Spring MVC的DispatcherServlet會接收請求,并將請求轉發給相應的Controller進行處理。Controller處理完請求后,將模型數據返回給視圖(JSP、Thymeleaf等)。

????????MyBatis進行數據庫操作:在Service層調用DAO層,使用MyBatis進行數據庫查詢或更新操作。MyBatis通過XML或注解提供SQL映射,Spring負責事務管理。

二、SSM框架的優缺點

2.1、優點

分層清晰:SSM框架采用了經典的MVC設計模式,將應用程序的邏輯分為三層:Controller、Service和DAO層。每一層都有明確的職責,有利于代碼的維護和擴展。

靈活性高:MyBatis不像JPA或Hibernate那樣進行自動化的數據庫操作,它允許開發者手動編寫SQL語句,從而提供了更高的靈活性。

易于集成:Spring、Spring MVC和MyBatis都可以非常容易地與其他框架進行集成。

廣泛應用:SSM框架的組合是許多企業級應用中非常常見的架構,社區支持活躍,文檔豐富,使用經驗豐富。

2.2、缺點

配置繁瑣:SSM框架中,Spring的配置文件通常比較復雜,尤其是對于初學者來說,理解和配置Spring的XML配置文件可能會有一定難度。

學習曲線陡峭:雖然Spring提供了大量的功能,但對于初學者來說,學習Spring的核心概念(如IoC、AOP)可能需要一定的時間和精力。

MyBatis的SQL:雖然MyBatis提供了更高的靈活性,但開發者需要編寫和維護SQL,可能增加了開發和維護的負擔,尤其是在大型項目中。

三、整合

3.1、引入依賴

3.2、配置web.xml

配置springmvc的前端控制器,設置spring的配置文件。

3.3、配置spring

Spring負責管理應用中的Bean(對象)生命周期和依賴注入。我們需要配置Spring容器來定義Bean,聲明它們的作用域和生命周期。

步驟:

創建spring-dao.xml配置文件:

  1. 配置數據庫數據源連接信息。
  2. 配置mybatis信息。
    1. 注入數據源
    2. 加載mybatis配置
    3. 自動掃描mapper.xml文件
    4. 配置別名
  3. 配置mapper文件
    1. 注入sqlSessionFactory
    2. 動態代理

3.4、配置springmvc

Spring MVC負責處理Web層的請求和響應,控制器的請求處理。我們需要配置Spring MVC來處理URL映射和視圖解析。

步驟:

創建spring-web.xml配置文件。

  1. 自動掃描controller包。
  2. 開啟mvc注解驅動。
  3. 配置靜態文件。
  4. 配置視圖解析器。

3.5、配置spring service

掃描service包下的注解

3.6、配置mybatis

MyBatis相關全局屬性設置。

3.7、創建controller

Controller是Spring MVC中的核心部分,負責接收用戶請求并返回響應。我們可以在Controller中編寫方法,來處理具體的URL請求。

步驟:

使用@Controller注解標記類,表示該類是一個控制器。

使用@RequestMapping注解定義URL映射。

3.8、創建Service層

Service層用于處理業務邏輯,它會調用DAO層的方法進行數據庫操作。

步驟:

在Service類中編寫具體的業務方法,調用DAO層接口處理數據庫操作。

使用@Service注解標記Service類。

3.9、創建DAO層

DAO層用于與數據庫交互。通過MyBatis,我們定義Mapper接口和對應的SQL映射文件來執行數據庫操作。

步驟:

創建Mapper接口,定義查詢、插入、更新和刪除等方法。

創建對應的Mapper XML文件,定義SQL語句。

四、整合-登陸

4.1、前端-jsp

4.2、控制層-controller

4.3、實現層


4.4、持久層

五、整合-列表展示


六、整合-編輯


七、整合-添加



八、整合-刪除


九、部署

9.1、準備 .war 文件


9.2、拷貝 .war 文件到 Tomcat 的 webapps 目錄

Tomcat會自動掃描webapps目錄并部署其中的.war文件。將你的.war文件復制到Tomcat安裝目錄下的webapps文件夾中。

9.3、啟動 Tomcat

啟動Tomcat服務。你可以在Tomcat的bin目錄下找到啟動腳本:

  1. Windows系統運行startup.bat。
  2. Linux或macOS系統運行startup.sh。

9.4、訪問應用

Tomcat會自動解壓并部署.war文件。如果文件名是ssm.war,你可以通過瀏覽器訪問:http://localhost:8080/ssm/

如果部署成功,Tomcat會自動創建一個名為ssm的文件夾,并解壓.war文件到該文件夾內。

通過以上內容便可輕輕松松使用SSM.是不是超級簡單.有任何問題歡迎留言哦!!!

重點!重點!重點!

遇到問題不用怕不如來我的知識庫找找看,也許有意想不到的收獲!!!

易網時代-易庫資源-易庫教程:.NET開發、Java開發、PHP開發、SqlServer技術、MySQL技術-開發資料大全-易網時代-易庫資源-易庫教程 (escdns.com)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/902781.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/902781.shtml
英文地址,請注明出處:http://en.pswp.cn/news/902781.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

學員答題pk知識競賽小程序怎么做

制作學員答題PK知識競賽小程序,主要有以下步驟: 一、規劃設計 明確需求:確定小程序的使用場景是校園知識競賽、培訓機構考核還是企業內部培訓等。答題功能,規定答題的具體規則,包括題目類型(單選、多選、…

視頻分析設備平臺EasyCVR視頻技術驅動下,監控上墻全組件解析與組網應用方案

隨著數字化進程的加速推進,視頻監控技術在工業、商業、社區等諸多領域得到了廣泛應用。盡管不同場景對監控功能的具體需求存在差異,但底層硬件架構具有顯著的共性特征。實際部署中,僅需依據網絡環境等實際情況,靈活調整設備的連接…

idea使用docker插件一鍵部署項目

一、首先保證我們電腦上已經安裝了docker docker -v查看docker版本,如果不能識別,需要先下載docker destop,在官網下載正常安裝即可。 安裝成功就可以使用docker 命令了 二、idea下載docker插件并配置docker參數 我是通過tcp連接docker服務…

SQL Tuning Advisor

什么是SQL Tuning Advisor STA可以用來優化那些已經被發現的高負載SQL. 默認情況下, Oracle數據庫在自動維護窗口中自動認證那些有問題的SQL并且執行優化建議,找尋提升高負載SQL執行計劃性能的方法. ** 如何查看自動優化維護窗口產生的報告? ** SQL> set ser…

uniapp-商城-31-shop頁面中的 我的訂單

前面的章節講了很多關于頁面 布局 的知識。 現在來看看其他欄目,我的訂單頁面。 1 頁面樣式圖 基本的樣式包含shop頁面 我的訂單 點擊我的訂單,跳轉到訂單頁面 點擊訂單的每一條訂單,跳轉到訂單詳情 2、創建訂單頁面 2.1 創建sub頁面文件…

深入探討JavaScript性能瓶頸與優化實戰指南

JavaScript作為現代Web開發的核心語言,其性能直接影響用戶體驗與業務指標。隨著2025年前端應用的復雜性持續增加,性能優化已成為開發者必須掌握的核心技能。本文將從性能瓶頸分析、優化策略、工具使用三個維度,結合實戰案例,系統梳理JavaScript性能優化的關鍵路徑。 一、Ja…

基于AI與drawio的圖表生成技術及其在學術研究中的應用前景分析

一、研究背景與沖突 在當今數字化時代,學術研究與信息傳播的方式發生了深刻變革。隨著數據量的爆炸式增長以及研究內容的日益復雜,高效、精準地呈現研究成果變得至關重要。圖表作為一種直觀、簡潔且信息承載量大的表達方式,在學術研究中扮演著…

uniapp 仿小紅書輪播圖效果

通過對小紅書的輪播圖分析&#xff0c;可得出以下總結&#xff1a; 1.單張圖片時容器根據圖片像素定高 2.多圖時輪播圖容器高度以首圖為錨點 3.比首圖長則固高左右留白 4.比首圖短則固寬上下留白 代碼如下&#xff1a; <template><view> <!--輪播--><s…

【ORACLE】記錄一些ORACLE的merge into語句的BUG

【ORACLE】記錄一些ORACLE的merge into語句的BUG 一、自相矛盾-DML重啟動行為差異,違反acid原則 發現版本&#xff1a;10g ~ 23ai 這個用例在我之前的文章里有提過&#xff0c;ORACLE和PG系關于并發事務行為有一個非常大的差異&#xff0c;就是ORACLE在某些并發沖突的場景下會…

2025上海車展:光峰科技全球首發“靈境”智能車載光學系統

當AI為光賦予思想&#xff0c;汽車將會變成什么樣&#xff1f;深圳光峰科技為您揭曉答案。 2025年4月23日&#xff0c;在剛剛開幕的“2025上海車展”上&#xff0c;全球領先的激光核心器件公司光峰科技舉辦了主題為“AI光影盛宴&#xff0c;智享未來出行”的媒體發布會&#x…

密碼學的hash函數,哈希碰撞, collision resistance, BTC用到的SHA-256簡介

密碼學中的哈希函數、哈希碰撞、抗碰撞性&#xff08;collision resistance&#xff09;以及比特幣中使用的 SHA-256 的簡明介紹&#xff1a; &#x1f9e9; 一、哈希函數&#xff08;Hash Function&#xff09; 定義&#xff1a; 哈希函數是一種將任意長度的輸入&#xff08;…

unity TEngine學習4

上一篇我們學習了UI部分&#xff0c;這一篇我們學習其他部分&#xff0c;按照老規矩還是先打開官方文檔 ResourceModule 在官方文檔里介紹了當前加載的設置&#xff0c;但是我們是小白看不懂&#xff0c;那就不管他內部怎么實現的&#xff0c;我們主要看下面的代碼給的方法&am…

【AI訓練環境搭建】在IDE(Pycharm或VSCode)上使用WSL2+Ubuntu22.04+Conda+Tensorflow+GPU進行機器學習訓練

本次實踐將在IDE&#xff08;Pycharm或VSCode&#xff09;上使用WSL2Ubuntu22.04TensorflowGPU進行機器學習訓練。基本原理是在IDE中拉起WSL2中的Python解釋器&#xff0c;并運行Python程序。要運行CondaTensorflowGPU你可能需要進行以下準備工作。 1. 此示例中將使用一個mnis…

【華為OD機試真題E卷】521、 機器人可活動的最大網格點數目 | 機試真題+思路參考+代碼解析(E卷復用)(C++)

文章目錄 一、題目題目描述輸入輸出樣例1 一、代碼與思路&#x1f9e0;C語言思路?C代碼 一、題目 參考鏈接&#xff1a;https://sars2025.blog.csdn.net/article/details/141748083 題目描述 現有一個機器人口&#xff0c;可放置于MxN的網格中任意位置&#xff0c;每個網格包…

windows端遠程控制ubuntu運行腳本程序并轉發ubuntu端腳本輸出的網頁

背景 對于一些只能在ubuntu上運行的腳本&#xff0c;并且這個腳本會在ubuntu上通過網頁展示運行結果。我們希望可以使用windows遠程操控ubuntu&#xff0c;在windows上查看網頁內容。 方法 start cmd.exe /k "sshpass -p passwd ssh namexxx.xxx.xxx.xxx "cd /hom…

Vue3集成瀏覽器API實時語音識別

效果示例 用法 <!-- 瀏覽器語音識別 --> <BrowserSpeechRecognitionModal v-if"showModal" :isOpen"showModal" close"showModal false" confirm"handleRecognitionResult" />const showModal ref(false); const input…

k8s 手動續訂證書

注意:如果是高可用環境,本文的操作需要在所有控制節點都執行。 查看證書是否過期 kubeadm certs check-expirationkubeadm certs renew可以續訂任何特定證書,或者使用子命令all可以續訂所有證書: kubeadm certs renew all使用 kubeadm 構建的集群通常會將admin.conf證書復…

每日一道leetcode(補充版)

1679. K 和數對的最大數目 - 力扣&#xff08;LeetCode&#xff09; 題目 給你一個整數數組 nums 和一個整數 k 。 每一步操作中&#xff0c;你需要從數組中選出和為 k 的兩個整數&#xff0c;并將它們移出數組。 返回你可以對數組執行的最大操作數。 示例 1&#xff1a; …

基于Keras3.x使用CNN實現簡單的貓狗分類

使用CNN實現簡單的貓狗分類 完整代碼見&#xff1a;基于Keras3.x使用CNN實現簡單的貓狗分類&#xff0c;置信度約為&#xff1a;85% 文章目錄 概述項目整體目錄環境版本注意 環境準備下載miniconda新建虛擬環境基于conda虛擬環境新建Pycharm項目下載分類需要用到的依賴 數據準備…

中介者模式:解耦對象間復雜交互的設計模式

中介者模式&#xff1a;解耦對象間復雜交互的設計模式 一、模式核心&#xff1a;用中介者統一管理對象交互&#xff0c;避免兩兩直接依賴 當系統中多個對象之間存在復雜的網狀交互時&#xff08;如 GUI 界面中按鈕、文本框、下拉框的聯動&#xff09;&#xff0c;對象間直接調…