欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解使用Spring快速創(chuàng)建web應(yīng)用的兩種方式

 更新時(shí)間:2019年11月08日 09:36:02   作者:曲翎風(fēng)  
這篇文章主要介紹了詳解使用Spring快速創(chuàng)建web應(yīng)用的兩種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

介紹

本篇文章主要介紹,如何使用 Spring 開(kāi)發(fā)一個(gè) Web 應(yīng)用。
我們將研究用 Spring Boot 開(kāi)發(fā)一個(gè) web 應(yīng)用,并研究用非 Spring Boot 的方法。
我們將主要使用 Java 配置,但還要了解它們的等效的 XML 配置。

使用 Spring Boot

Maven 依賴(lài)

首先,我們需要引用 spring-boot-starter-web 依賴(lài):

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
  <version>2.1.1.RELEASE</version>
</dependency>

該依賴(lài)包含:

  • Spring Web 應(yīng)用程序所需的 spring-web 和 spring-webmvc 模塊
  • Tomcat 容器,這樣我們就可以直接運(yùn)行 Web 應(yīng)用程序,而無(wú)需安裝 Tomcat

創(chuàng)建一個(gè)Spring Boot 應(yīng)用程序

使用 Spring Boot 的最直接的方法是創(chuàng)建一個(gè)主類(lèi),并添加 @SpringBootApplication 注解:

@SpringBootApplication
public class SpringBootRestApplication {
  public static void main(String[] args) {
    SpringApplication.run(SpringBootRestApplication.class, args);
  }
}

此單個(gè)注釋等效于使用 @Configuration ,@EnableAutoConfiguration 和 @ComponentScan 。

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

接下來(lái),對(duì)于基于 Java 的 Spring Bean 配置,我們需要?jiǎng)?chuàng)建一個(gè)配置類(lèi),并使用 @Configuration 注解:

@Configuration
public class WebConfig {
 
}

該注解是 Spring 主要使用的配置。 它本身使用 @Component 進(jìn)行元注解,這使注解的類(lèi)成為標(biāo)準(zhǔn) bean,因此也成為組件掃描時(shí)的候選對(duì)象。

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

使用 spring-webmvc

Maven 依賴(lài)

首先,我們需要引用 spring-webmvc 依賴(lài):

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
  <version>5.0.0.RELEASE</version>
</dependency>

基于 java 的 Web 配置

@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.qulingfeng.controller")
public class WebConfig {
  
}

在這里與 Spring Boot 的方式不同,我們必須顯式定義 @EnableWebMvc 來(lái)設(shè)置默認(rèn)的 Spring MVC 配置,而

@ComponentScan 可以指定用于掃描組件的包。

@EnableWebMvc 注解提供了 Spring Web MVC 配置,比如設(shè)置 dispatcher servlet、啟用 @Controller 和 @RequestMapping 注解以及設(shè)置其他默認(rèn)值。

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

初始化類(lèi)

接下來(lái),我們需要添加一個(gè)實(shí)現(xiàn) WebApplicationInitializer 接口的類(lèi):

public class AppInitializer implements WebApplicationInitializer {
 
  @Override
  public void onStartup(ServletContext container) throws ServletException {
    AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
    context.scan("com.qulingfeng");
    container.addListener(new ContextLoaderListener(context));
 
    ServletRegistration.Dynamic dispatcher = 
     container.addServlet("mvc", new DispatcherServlet(context));
    dispatcher.setLoadOnStartup(1);
    dispatcher.addMapping("/");  
  }
}

在這里,我們使用 AnnotationConfigWebApplicationContext 類(lèi)創(chuàng)建 Spring 上下文,這意味著我們僅使用基于注釋的配置。 然后,我們指定要掃描組件和配置類(lèi)的包。

最后,我們定義 Web 應(yīng)用程序的入口點(diǎn) — DispatcherServlet 。

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

XML配置

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

<context:component-scan base-package="com.qulingfeng.controller" />
<mvc:annotation-driven />

我們可以用上面的 WebConfig 類(lèi)替換這個(gè) XML 文件。
要啟動(dòng)應(yīng)用程序,我們可以使用一個(gè)初始化器類(lèi)來(lái)加載 XML 配置或 web.xml 文件。

結(jié)束語(yǔ)

在篇文章中,我們研究了兩種用于開(kāi)發(fā) Spring Web 應(yīng)用程序的流行方式,一種使用 Spring Boot Web 啟動(dòng)程序,另一種使用核心 spring-webmvc 庫(kù)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java使用ffmpeg處理視頻的方法

    java使用ffmpeg處理視頻的方法

    這篇文章主要介紹了java使用ffmpeg處理視頻的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 使用Spirng Boot Admin監(jiān)控Spring Cloud應(yīng)用項(xiàng)目

    使用Spirng Boot Admin監(jiān)控Spring Cloud應(yīng)用項(xiàng)目

    這篇文章主要介紹了使用Spirng Boot Admin監(jiān)控Spring Cloud應(yīng)用項(xiàng)目,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Java實(shí)現(xiàn)圖像分割功能

    Java實(shí)現(xiàn)圖像分割功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)圖像分割功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • .properties文件讀取及占位符${...}替換源碼解析

    .properties文件讀取及占位符${...}替換源碼解析

    本篇文章主要介紹了.properties文件讀取及占位符${...}替換源碼解析的相關(guān)知識(shí),具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-05-05
  • java項(xiàng)目中讀取jdbc.properties文件操作

    java項(xiàng)目中讀取jdbc.properties文件操作

    這篇文章主要介紹了java項(xiàng)目中讀取jdbc.properties文件操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • java調(diào)用c程序通信示例代碼

    java調(diào)用c程序通信示例代碼

    這篇文章主要介紹了java調(diào)用c程序通信示例,大家參考使用吧
    2013-12-12
  • Java的異常處理體系詳解

    Java的異常處理體系詳解

    這篇文章主要介紹了Java的異常處理體系,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Java JDK17沒(méi)有源碼的問(wèn)題及解決

    Java JDK17沒(méi)有源碼的問(wèn)題及解決

    這篇文章主要介紹了Java JDK17沒(méi)有源碼的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • JAVA讀取文件流,設(shè)置瀏覽器下載或直接預(yù)覽操作

    JAVA讀取文件流,設(shè)置瀏覽器下載或直接預(yù)覽操作

    這篇文章主要介紹了JAVA讀取文件流,設(shè)置瀏覽器下載或直接預(yù)覽操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • java web實(shí)現(xiàn)自動(dòng)登錄

    java web實(shí)現(xiàn)自動(dòng)登錄

    這篇文章主要為大家詳細(xì)介紹了java web實(shí)現(xiàn)自動(dòng)登錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評(píng)論