1. 程式人生 > 實用技巧 >Spring Boot整合SpringMVC應用

Spring Boot整合SpringMVC應用

MVC(Model–view–controller)是軟體工程中的一種軟體架構模式,基於此模式把軟體系統分為三個基本部分:模型(Model)、檢視(View)和控制器(Controller)。目的是通過這樣的設計使程式結構更加簡潔、直觀,降低問題的複雜度。其中各個組成部分的職責為:

  • 檢視(View) - UI設計人員進行圖形介面設計,負責實現與使用者互動。
  • 控制器(Controller)- 負責獲取請求,處理請求,響應結果。
  • 模型(Model) - 實現業務邏輯,資料邏輯實現。

我們在軟體設計時,通常要遵循一定的設計原則。MVC架構模式的設計中,首先基於單一職責原則(SRP-Single responsibility principle)讓每個物件各司其職,各盡所能。然後再基於“高內聚,低耦合”的設計思想實現相關層物件之間的互動。這樣可以更好提高程式的可維護性和可擴充套件性。

  • DispatcherServlet :前端控制器, 處理請求的入口。
  • HandlerMapping:對映器物件, 用於管理url與對應controller的對映關係。
  • Interceptors:攔截器,實現請求響應的共性處理。
  • Controller:後端控制器-handler, 負責處理請求的控制邏輯。
  • ViewResolver:檢視解析器,解析對應的檢視關係(字首+viewname+字尾)。

初始配置

1.編輯pom.xml檔案,新增web依賴,Thymeleaf依賴,程式碼如下:Web依賴(提供了Spring MVC核心API,同時會嵌入一個Tomcat伺服器)

1 <dependency
> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-web</artifactId> 4 </dependency> 5 6 <dependency> 7 <groupId>org.springframework.boot</groupId> 8 <artifactId>spring-boot-starter-thymeleaf</artifactId
> 9 </dependency>

其中: Spring Web Starter 提供Spring MVC 依賴支援,並會自動新增一個tomcat依賴,作為嵌入式web伺服器使用.thymeleaf是一個html模板引擎,提供了與Spring MVC進行整合的API,可作為MVC架構中Web應用的View層。

配置Spring MVC 核心物件

在application.properties檔案中新增檢視解析器配置(假如沒有配置也會預設配置,在預設配置中prefix預設值為classpath:/templates/,字尾預設為.html)。

1 spring.thymeleaf.prefix=classpath:/templates/pages/
2 spring.thymeleaf.suffix=.html

說明:要基於配置在src/main/resources目錄下建立templates/pages目錄

第一步:編寫GoodsController類並將其交給spring管理。這樣的Controller在SpringMVC 規範中通常稱之為Handler(處理器),我們在企業中有時也會將此物件理解為一個後端控制器。

1 package com.cy.pj.goods.controller;
2 @Controller
3 @RequestMapping("/goods/")
4 public class GoodsController {
5      @RequestMapping("doGoodsUI")
6      public String doGoodsUI() {
7            return "goods";
8     }
9 }

第二步:需要在/templates/pages/目錄下建立goods.html

第三步:啟動伺服器(預設專案嵌入的是tomcat),開啟瀏覽器進行訪問測試。