mvc-service引入

什么是業務層


? ? 1)Model1(JSP)和Model2(模糊的mvc):
? ? MVC:Model(模型),View(視圖),Controller(控制器)
? ? 視圖層:用于數據展示以及用戶交互的界面
? ? 控制層:能夠接受客戶端的請求,具體業務功能需要借助模型組件來完成
? ? 模型層:模型分為很多種:有比較簡單的pojo/vo(value object),業務模型組件,有數據訪問層組件
? ? ? ? 1)pojo/vo:值對象
? ? ? ? 2)Dao:數據訪問對象
? ? ? ? 3)BO:業務對象(就是DAO方法的組合外加一些邏輯判斷)
? ? 區分業務的對象和數據訪問對象
? ? ? ? 1)Dao中方法都是單精度方法或者稱之為細粒度方法,什么叫單精度?一個方法值考慮一個操作,比如添加就是insert操作
? ? ? ? 2)BO中的方法屬于業務方法,也實際的業務是比較復雜的,因此業務方法的粒度是比較粗的。
? ? ? ? ? ? 比如注冊功能:內部包含了多個Dao方法,注冊這個功能需要多個Dao方法的組合調用,從而完成功能
? ? ? ? ? ? ? ? 1、檢查用戶名是否已經被注冊--Dao中的select操作
? ? ? ? ? ? ? ? 2、像用戶表添加一條記錄--Dao中的insert操作
? ? ? ? ? ? ? ? 3、像用戶積分表添加一條新記錄,用戶默認初始化積分為100--Dao中的insert操作
? ? ? ? ? ? ? ? 4、像系統消息表新增一條新記錄,新用戶注冊,根據新用戶通訊錄向他的聯系人推送消息--Dao中的insert操作
? ? ? ? ? ? ? ? 5、向系統日志表新增一條記錄.....
? ? ? ? ? ? ? ? 6、。。。

????????3) 在系統中添加業務層組件

1.以前Controller是直接調用Dao層的組件

2.現在在Dao上面多了一層FruitService(impl....)

我們一個請求過來先會調用Controller層,然后依次往下

調用,最后返回給Controller,然后Controller層再把

數據響應給DispatcherServlet,在DispatcherServlet中

我們會有視圖處理(tmleaf、重定向等怎么做),然后

DispatcherServlet再交給我們的客戶端;其中

DispatcherServlet會通過反射去定位到Controller,然后

執行相應的方法

所以后續把對Dao的操作修改成對Service的操作

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

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

相關文章

第一次做逆向

題目來源:ctf.show 1、下載附件,發現一個exe和一個txt文件 看看病毒加沒加殼,發現沒加那就直接放IDA 放到IDA找到main主函數,按F5反編譯工具就把他還原成類似C語言的代碼 然后我們看邏輯,將flag.txt文件的內容進行加…

docker(四)使用篇二:docker 鏡像

在上一章中,我們介紹了 docker 鏡像倉庫,本文就來介紹 docker 鏡像。 一、什么是鏡像 docker 鏡像本質上是一個 read-only 只讀文件, 這個文件包含了文件系統、源碼、庫文件、依賴、工具等一些運行 application 所必須的文件。 我們可以把…

k8s 1.10.26 一次containerd失敗引發kubectl不可用問題

k8s 1.10.26 一次containerd失敗引發kubectl不可用問題 開機k8s 1.10.26時,報以下錯誤 [rootmaster ~]# kubectl get no E0515 08:03:00.914894 7993 memcache.go:265] couldnt get current server API group list: Get "https://192.168.80.50:6443/api?…

今日積累:若依框架配置QQ郵箱,來發郵件,注冊賬號使用

QQ郵箱SMTP服務器設置 首先,我們需要了解QQ郵箱的SMTP服務器地址。對于QQ郵箱,SMTP服務器地址通常是smtp.qq.com。這個地址適用于所有使用QQ郵箱發送郵件的客戶端。 QQ郵箱SMTP端口設置 QQ郵箱提供了兩種加密方式:SSL和STARTTLS。根據您選…

無縫部署您的應用程序:將 Jenkins Pipelines 與 ArgoCD 集成

在 DevOps 領域,自動化是主要目標之一。這包括自動化軟件部署方式。與其依賴某人在部署軟件的機器上進行 rsync/FTP/編寫軟件,不如使用 CI/CD 的概念。 CI,即持續集成,是通過代碼提交創建工件的步驟。這可以是 Docker 鏡像&#…

4.2.3 Thymeleaf標準表達式 - 5. 片段表達式

在本次實戰中,我們通過 Thymeleaf 的片段表達式實現了模板的模塊化和復用。首先,我們定義了一個導航欄片段 navbar,并通過參數 activeTab 動態高亮當前激活的標簽。然后,我們在多個頁面(如主頁、關于頁和聯系頁&#x…

網安面試經(1)

1.說說IPsec VPN 答:IPsec VPN是利用IPsec協議構建的安全虛擬網絡。它通過加密技術,在公共網絡中創建加密隧道,確保數據傳輸的保密性、完整性和真實性。常用于企業分支互聯和遠程辦公,能有效防范數據泄露與篡改,但部署…

【C++/Qt shared_ptr 與 線程池】合作使用案例

以下是一個結合 std::shared_ptr 和 Qt 線程池(QThreadPool)的完整案例,展示了如何在多線程任務中安全管理資源,避免內存泄漏。 案例場景 任務目標:在后臺線程中處理一個耗時的圖像檢測任務,任務對象通過 …

【Unity】 HTFramework框架(六十五)ScrollList滾動數據列表

更新日期:2025年5月16日。 Github 倉庫:https://github.com/SaiTingHu/HTFramework Gitee 倉庫:https://gitee.com/SaiTingHu/HTFramework 索引 一、ScrollList滾動數據列表二、使用ScrollList1.快捷創建ScrollList2.ScrollList的屬性3.自定義…

經典案例 | 筑基與躍升:解碼制造企業產供銷協同難題

引言 制造企業如何在投產初期突破管理瓶頸,實現高效運營?G公司作為某大型集團的新建子公司,面對產供銷流程缺失、跨部門協同低效等難題,選擇與AMT企源合作開展流程優化。 項目通過端到端流程體系搭建、標準化操作規范制定及長效管…

【Python 操作 MySQL 數據庫】

在 Python 中操作 MySQL 數據庫主要通過 pymysql 或 mysql-connector-python 庫實現。以下是完整的技術指南,包含連接管理、CRUD 操作和最佳實踐: 一、環境準備 1. 安裝驅動庫 pip install pymysql # 推薦(純Python實現&#xff0…

記錄vsCode連接gitee并實現項目拉取和上傳

標題 在 VSCode 中上傳代碼到 Gitee 倉庫 要在 VSCode 中將代碼上傳到 Gitee (碼云) 倉庫,你可以按照以下步驟操作: 準備工作 確保已安裝 Git確保已安裝 VSCode擁有 Gitee 賬號并創建了倉庫 可以參考該文章的部分:idea實現與gitee連接 操…

【信息系統項目管理師】第6章:項目管理概論 - 31個經典題目及詳解

更多內容請見: 備考信息系統項目管理師-專欄介紹和目錄 文章目錄 第一節 PMBOK的發展【第1題】【第2題】【第3題】【第4題】【第5題】【第6題】第二節 項目基本要素【第1題】【第2題】【第3題】【第4題】【第5題】【第6題】【第7題】【第8題】【第9題】【第10題】第三節 項目經…

簡單介紹C++中線性代數運算庫Eigen

Eigen 是一個高性能的 C 模板庫,專注于線性代數、矩陣和向量運算,廣泛應用于科學計算、機器學習和計算機視覺等領域。以下是對 Eigen 庫的詳細介紹: 1. 概述 核心功能:支持矩陣、向量運算,包括基本算術、矩陣分解&…

生產級編排AI工作流套件:Flyte全面使用指南 — Core concepts Launch plans

生產級編排AI工作流套件:Flyte全面使用指南 — Core concepts Launch plans Flyte 是一個開源編排器,用于構建生產級數據和機器學習流水線。它以 Kubernetes 作為底層平臺,注重可擴展性和可重復性。借助 Flyte,用戶團隊可以使用 P…

Python 之類型注解

類型注解允許開發者顯式地聲明變量、函數參數和返回值的類型。但是加不加注解對于程序的運行沒任何影響(是非強制的,且類型注解不影響運行時行為),屬于 有了挺好,沒有也行。但是大型項目按照規范添加注解的話&#xff…

rocketmq并發消費

netty的handler 在netty的網絡模型中,在想bootstrap設置handler時, 都是在等待 事件 的到來,才會被調用的方法,都是被動的, 服務端等待 request 的到來,進行read, 然后主動調用writeAndFlush寫出去。 客戶…

React 播客專欄 Vol.9|React + TypeScript 項目該怎么起步?從 CRA 到配置全流程

👋 歡迎回到《前端達人 React 播客書單》第 9 期(正文內容為學習筆記摘要,音頻內容是詳細的解讀,方便你理解),請點擊下方收聽 你是不是常在網上看到 .tsx 項目、Babel、Webpack、tsconfig、Vite、CRA、ESL…

【PmHub后端篇】PmHub中基于自定義注解和AOP的服務接口鑒權與內部認證實現

1 引言 在現代軟件開發中,尤其是在微服務架構下,服務接口的鑒權和內部認證是保障系統安全的重要環節。本文將詳細介紹PmHub中如何利用自定義注解和AOP(面向切面編程)實現服務接口的鑒權和內部認證,所涉及的技術知識點…

芯片測試之X-ray測試

原理: X-ray是利用陰極射線管產生高能量電子與金屬靶撞擊,在撞擊過程中,因電子突然減速,其損失的動能會以X-Ray形式放出。而對于樣品無法以外觀方式觀測的位置,利用X-Ray穿透不同密度物質后其光強度的變化,…