Springboot中的三個基本架構(gòu)
前言
SpringBoot是由Pivotal團(tuán)隊(duì)提供的基于Spring的框架,旨在簡化Spring應(yīng)用的初始搭建和開發(fā)過程。
該框架使用了特定的方式來進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置。
SpringBoot是一個強(qiáng)大且易于使用的框架,它可以幫助開發(fā)者快速構(gòu)建、部署和運(yùn)行Spring應(yīng)用程序。
Springboot的三個基本架構(gòu)
分層思想:
分層的目的是為了將每個業(yè)務(wù)交給專門的一個層去做處理,這樣每個層都只負(fù)責(zé)自己的業(yè)務(wù),最后協(xié)作,就不會出現(xiàn)雜亂的情況。
所以,一般都會進(jìn)行分層,而controller層、service層和mapper層(dao層)Springbootd的三個基本架構(gòu)。
1、controller層
- 1.1 定義:
控制層,存放了各種控制器,用于前后端交互,接受前端請求,調(diào)用service層,響應(yīng)service層返回的數(shù)據(jù),最后返回給前端。
- 1.2 常見注解:

@Controller 注解表示這個類是一個控制器。
- @RequestMapping(“/hello”) 注解在類級別上,表示這個控制器中的所有請求映射都將以/hello為前綴。
- @GetMapping(“/world”) 注解在方法級別上,表示當(dāng)收到一個GET請求到/hello/world時,會調(diào)用helloWorld()方法。
2、service層
- 2.1、定義:
服務(wù)層,也叫業(yè)務(wù)層,本身不直接對數(shù)據(jù)庫進(jìn)行操作,一般用于調(diào)用mapper層的接口,實(shí)現(xiàn)業(yè)務(wù)的功能,以此來間接來訪問數(shù)據(jù)庫。
- 2.2、常見注解:
@Service注解表示這個類是一個業(yè)務(wù)邏輯服務(wù)組件。
3、mapper(dao)層
- 定義:
持久層,相當(dāng)于一個橋梁,與數(shù)據(jù)庫進(jìn)行交互,專注于數(shù)據(jù)庫對接,可以讓我們的代碼更容易維護(hù),同時實(shí)現(xiàn)對數(shù)據(jù)的持久化操作。
Springboot三個基本架構(gòu)的關(guān)系

Controller層,負(fù)責(zé)具體的業(yè)務(wù)模塊流程的控制,也就是去攔截客戶發(fā)來的請求。
然后Service層,負(fù)責(zé)業(yè)務(wù)模塊的邏輯應(yīng)用設(shè)計,調(diào)用 mapper 層已定義的接口,去實(shí)現(xiàn) Service 具體的實(shí)現(xiàn)類,也就是去和數(shù)據(jù)庫mapper層打交道。
mapper 層負(fù)責(zé)與數(shù)據(jù)庫進(jìn)行交互設(shè)計,用來處理數(shù)據(jù)的持久化工作,mapper層的數(shù)據(jù)源配置,以及有關(guān)數(shù)據(jù)庫連接的參數(shù)都在 Spring 的配置文件中進(jìn)行配置。



總結(jié)
使用這種分層架構(gòu)的優(yōu)點(diǎn)包括明確的職責(zé)劃分、降低模塊之間的耦合度、提高代碼的可重用性和可測試性。
每個層級都有其特定的職責(zé)和關(guān)注點(diǎn),這使得代碼更加清晰、易于理解和維護(hù)。
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java正則表達(dá)式處理特殊字符轉(zhuǎn)義的方法
由于正則表達(dá)式定了一些特殊字符,而有時候需要對這些特殊字符進(jìn)行匹配的話就需要進(jìn)行轉(zhuǎn)義了,下面這篇文章主要給大家介紹了Java正則表達(dá)式處理特殊字符轉(zhuǎn)義的方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-01-01
Spring使用@Filter注解創(chuàng)建自定義過濾器
Spring 中鮮為人知但非常有用的注解之一是 @Filter,它支持自定義過濾器,下面我們就來深入研究一下如何使用 Spring 的 @Filter 注解來創(chuàng)建自定義過濾器吧2023-11-11
Java?EasyExcel實(shí)現(xiàn)合并相同內(nèi)容單元格與動態(tài)標(biāo)題功能
這篇文章主要為大家詳細(xì)介紹了Java?EasyExcel如何實(shí)現(xiàn)合并相同內(nèi)容單元格與動態(tài)標(biāo)題功能,文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考下2023-12-12
詳細(xì)總結(jié)各種排序算法(Java實(shí)現(xiàn))
下面小編就為大家?guī)硪黄敿?xì)總結(jié)各種排序算法(Java實(shí)現(xiàn))。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09

