springboot分層結(jié)構(gòu)分別用來存放什么代碼?
一.等級制度
SpringBoot分為四層:控制器層、服務(wù)層、dao層和實體層。
實體層:和模型層一樣,存儲實體類,屬性值和數(shù)據(jù)庫值一致,從而實現(xiàn)setter和getter方法。
Dao層:mapper層,用于持久化數(shù)據(jù)庫。他的方法是針對數(shù)據(jù)庫操作量的,基本上就是一個只有方法名的接口,在mapper.xml中實現(xiàn)。
服務(wù)層:業(yè)務(wù)層,存儲業(yè)務(wù)邏輯處理,不直接操作數(shù)據(jù)庫,有接口和接口實現(xiàn)類,提供調(diào)用控制器層的方法。
控制器層:控制層,導(dǎo)入服務(wù)層,調(diào)用你的服務(wù)方法,控制器通過接收前端的參數(shù)進(jìn)行業(yè)務(wù)操作,然后返回指定的路徑或數(shù)據(jù)表。
二、每層跳靴的詳細(xì)說明
Constant:常量包,它存儲一些常量數(shù)據(jù),如定義服務(wù)器響應(yīng)狀態(tài)碼。
控制器:Controll
spring實現(xiàn)多參數(shù)入?yún)⒎绞接袔追N?
1.通過@PathVariabl
springboot項目商品詳情頁路徑是/123等.html這個是怎么實現(xiàn)的?
首先,我們創(chuàng)建一個SpringBoot2.x項目,并在配置文件中添加Redis的配置。關(guān)于Spring和Redis的整合,可以參考邊肖的其他文章,這里就不詳細(xì)解釋了。我們將服務(wù)端口server.port設(shè)置為端口8080,以啟動第一個服務(wù)。接下來,我們需要向pom文件添加兩個依賴項,spring-boot-starter-data-redis和spring-session-data-redis。spring-boot-starter-data-redis用于集成SpringBoot和redis。Spring-session-data-redis集成了Spring-session和spring-data-redis,提供了一個session和redis的集成方案。接下來,我們創(chuàng)建一個配置類RedisSessionConfi。g,這個類使用@Configuration注釋來表示這是一個配置類。同時,我們給這個類添加了注釋@enablereditttpSession,意思是打開Redis的會話管理。如果需要設(shè)置過期時間,可以使用@enableredittpsession(maxinactivateintervals3600)來指示它將在一小時后過期。如果需要同時設(shè)置Redis的命名空間,使用@enabledishttpsession(maxinativeinvolinseconds3600,Redisnamespaceamp"{}amp"),其中{}表示從配置文件中讀取此命名空間。04配置完成后,我們編寫一個測試類sessionController。在這個類中,我們編寫了兩個方法,一個用于在會話中存儲數(shù)據(jù),另一個用于從會話中檢索數(shù)據(jù)。代碼如下圖所示,我們訪問請求的url。startup類非常簡單,通常是通用的。讓s創(chuàng)建一個名為SpringbootApppcation的啟動類,用main方法啟動它。接下來我們用Postman分別請求上面兩個接口,先請求數(shù)據(jù)存儲接口,再請求數(shù)據(jù)檢索接口。結(jié)果如下圖所示,我們可以看到數(shù)據(jù)是從redis中檢索出來的。另外,你需要注意sessionId的值,這是會話共享的關(guān)鍵。為了驗證兩個服務(wù)是否共享會話,我們修改了項目的配置文件,將服務(wù)端口server.port改為8090,然后啟動服務(wù)。在這個時候,我們不不需要請求存儲數(shù)據(jù)的接口,只需要修改請求端口號的接口就可以再次請求數(shù)據(jù)檢索。從下圖可以看出,兩個請求的sessionId值是相同的,實現(xiàn)了會話的共享。07以上我們已經(jīng)完成了SpringBoot與SpringSeesion集成實現(xiàn)Redis緩存的功能。這里也推薦一個Redis的可視化工具,RedisDesktopManager。我們可以配置Redis數(shù)據(jù)庫的連接,然后可以直觀的查看Redis中存儲的會話。如下圖所示,會話的命名空間是share,它是從配置文件中讀取的。結(jié)束