使用 Spring 快速創建 web 應用的兩種方式

介紹

本篇文章主要介紹,如何使用 Spring 開發一個 Web 應用。

我們將研究用 Spring Boot 開發一個 web 應用,並研究用非 Spring Boot 的方法。

我們將主要使用 Java 配置,但還要了解它們的等效的 XML 配置。

使用 Spring Boot

Maven 依賴

首先,我們需要引用 spring-boot-starter-web 依賴:

使用 Spring 快速創建 web 應用的兩種方式

該依賴包含:

  • Spring Web 應用程序所需的 spring-webspring-webmvc 模塊
  • Tomcat 容器,這樣我們就可以直接運行 Web 應用程序,而無需安裝 Tomcat

創建一個Spring Boot 應用程序

使用 Spring Boot 的最直接的方法是創建一個主類,並添加 @SpringBootApplication 註解:

使用 Spring 快速創建 web 應用的兩種方式

此單個註釋等效於使用 @Configuration ,@EnableAutoConfiguration 和 @ComponentScan 。

默認情況下,它將掃描本包和它的子包中的所有組件。

接下來,對於基於 Java 的 Spring Bean 配置,我們需要創建一個配置類,並使用 @Configuration 註解:

使用 Spring 快速創建 web 應用的兩種方式

該註解是 Spring 主要使用的配置。 它本身使用 @Component 進行元註解,這使註解的類成為標準 bean,因此也成為組件掃描時的候選對象。

讓我們看看使用核心 spring-webmvc 庫的方法。

使用 spring-webmvc

Maven 依賴

首先,我們需要引用 spring-webmvc 依賴:

使用 Spring 快速創建 web 應用的兩種方式

基於 java 的 Web 配置

使用 Spring 快速創建 web 應用的兩種方式

在這裡與 Spring Boot 的方式不同,我們必須顯式定義 @EnableWebMvc 來設置默認的 Spring MVC 配置,而 @ComponentScan 可以指定用於掃描組件的包。

@EnableWebMvc 註解提供了 Spring Web MVC 配置,比如設置 dispatcher servlet、啟用 @Controller 和 @RequestMapping 註解以及設置其他默認值。

@ComponentScan 配置組件掃描指令,指定要掃描的包。

初始化類

接下來,我們需要添加一個實現 WebApplicationInitializer 接口的類:

使用 Spring 快速創建 web 應用的兩種方式

在這裡,我們使用 AnnotationConfigWebApplicationContext 類創建 Spring 上下文,這意味著我們僅使用基於註釋的配置。 然後,我們指定要掃描組件和配置類的包。

最後,我們定義 Web 應用程序的入口點 — DispatcherServlet 。

此類可以完全替換 < 3.0 Servlet 版本中的 web.xml 文件。

XML配置

讓我們快速看一下等效的XML web配置:

使用 Spring 快速創建 web 應用的兩種方式

我們可以用上面的 WebConfig 類替換這個 XML 文件。

要啟動應用程序,我們可以使用一個初始化器類來加載 XML 配置或 web.xml 文件。

結束語

在篇文章中,我們研究了兩種用於開發 Spring Web 應用程序的流行方式,一種使用 Spring Boot Web 啟動程序,另一種使用核心 spring-webmvc 庫。

感謝大家的觀看,歡迎關注我的頭條號。


分享到:


相關文章: