九热视频在线观看_免费成人午夜视频_丰满女人性猛交_无罩大乳的熟妇正在播放_性欧美18一19内谢_欧美一级黄色影院_黄色一级视频播放_各处沟厕大尺度偷拍女厕嘘嘘_激情网站五月天_亚洲午夜精品久久久久久人妖

IDC知識庫
IDC領(lǐng)域?qū)I(yè)知識百科平臺

spring-boot-starter-web 簡介

Spring MVC 是 Spring 提供的一個基于 MVC 設(shè)計模式的輕量級 Web 開發(fā)框架,其本身就是 Spring 框架的一部分,可以與 Spring 無縫集成,性能方面具有先天的優(yōu)越性,是當(dāng)今業(yè)界最主流的 Web 開發(fā)框架之一。

Spring Boot 是在 Spring 的基礎(chǔ)上創(chuàng)建一款開源框架,它提供了 spring-boot-starter-web(Web 啟動器) 來為 Web 開發(fā)予以支持。spring-boot-starter-web 為我們提供了嵌入的 Servlet 容器以及 SpringMVC 的依賴,并為 Spring MVC 提供了大量自動配置,可以適用于大多數(shù) Web 開發(fā)場景。

Spring Boot 為 Spring MVC 提供了自動配置,并在 Spring MVC 默認(rèn)功能的基礎(chǔ)上添加了以下特性:

(1) 引入了 ContentNegotiatingViewResolver 和 BeanNameViewResolver(視圖解析器)
(2) 對包括 WebJars 在內(nèi)的靜態(tài)資源的支持
(3) 自動注冊 Converter、GenericConverter 和 Formatter (轉(zhuǎn)換器和格式化器)
(4) 對 HttpMessageConverters 的支持(Spring MVC 中用于轉(zhuǎn)換 HTTP 請求和響應(yīng)的消息轉(zhuǎn)換器)
(5) 自動注冊 MessageCodesResolver(用于定義錯誤代碼生成規(guī)則)
(6) 支持對靜態(tài)首頁(index.html)的訪問
(7) 自動使用 ConfigurableWebBindingInitializer

只要我們在 Spring? Boot 項目中的 pom.xml 中引入了 spring-boot-starter-web,即使不進(jìn)行任何配置,也可以直接使用 Spring MVC 進(jìn)行 Web 開發(fā)。

創(chuàng)建 Maven Quickstart 項目

??? 1) 系統(tǒng)環(huán)境

Spring Boot 版本及其環(huán)境配置要求如下表。

Spring Boot ?? ? 2.x
JDK ?? ???????????? 8.0 及以上版本
Maven ??? ???????? 3.x
IntelliJ IDEA ?? ? 14.0 以上

本文將在 Windows 下使用 IntelliJ IDEA 和 Apache Maven 創(chuàng)建一個簡單的 Maven Quickstart 程序。在開始之前,確保已經(jīng)正確搭建了 Spring 開發(fā)環(huán)境。

Windows版本 : Windows 10 Home (20H2)
IntelliJ IDEA:Community Edition for Windows 2020.1.4
Apache Maven:3.8.1

??? 2) 運行 IDEA 創(chuàng)建項目

點擊菜單 New 創(chuàng)建 Project:

New Project -> Project Type: Maven -> Project SDK: 1.8 -> Check “Create from archtype” -> select “org.apache.maven.archtypes:maven-archtype-quickstart” -> Next

Name: SpringbootWeb
GroupId: com.example
ArtifactId: SpringbootWeb

-> Finish

??? 3) 生成的項目目錄結(jié)構(gòu)和文件

(1) 目錄結(jié)構(gòu)

|– src
|?? |– main
|?? |???? |– java
|?? |?????? |– com
|?? |??????????? |– example
|?? |?????????????????? |– App.java
|?? |– test
|??????? |– java
|?????????????? |– com
|??????????????????? |– example
|?????????????????????????? |– AppTest.java
|– pom.xml

(2) App.java 代碼

package com.example;

public class App {
public static void main( String[] args ) {
System.out.println( “Hello World!” );
}
}

?(3) AppTest.java 代碼

 1             package com.example;
 2 
 3             import static org.junit.Assert.assertTrue;
 4 
 5             import org.junit.Test;
 6 
 7             public class AppTest {
 8 
 9                 @Test
10                 public void shouldAnswerWithTrue() {
11                     assertTrue( true );
12                 }
13             }

(4) pom.xml 代碼

 1             <?xml version="1.0" encoding="UTF-8"?>
 2             <project xmlns="http://maven.apache.org/POM/4.0.0" 
 3                         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4                         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
 5                                             http://maven.apache.org/xsd/maven-4.0.0.xsd">
 6                 <modelVersion>4.0.0</modelVersion>
 7 
 8                 <groupId>com.example</groupId>
 9                 <artifactId>SpringbootWeb</artifactId>
10                 <version>1.0-SNAPSHOT</version>
11 
12                 <name>SpringbootWeb Maven Webapp</name>
13                 <!-- FIXME change it to the project's website -->
14                 <url>http://www.example.com</url>
15 
16                 <properties>
17                     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
18                     <maven.compiler.source>1.7</maven.compiler.source>
19                     <maven.compiler.target>1.7</maven.compiler.target>
20                 </properties>
21 
22                 <dependencies>
23                     <dependency>
24                         <groupId>junit</groupId>
25                         <artifactId>junit</artifactId>
26                         <version>4.11</version>
27                         <scope>test</scope>
28                     </dependency>
29                 </dependencies>
30 
31                 ...
32 
33             </project>
3. 配置 Spring Boot Web

1) 導(dǎo)入相關(guān)依賴包,并修改配置

訪問 http://www.mvnrepository.com/,查詢 spring-boot-starter-parent 等

修改 pom.xml:

 1             <project ... >
 2 
 3                 <!-- 把 Maven 默認(rèn)的 JDK 版本從 1.7 改成 1.8 -->
 4                 <properties>
 5                     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 6                     <maven.compiler.source>1.8</maven.compiler.source>
 7                     <maven.compiler.target>1.8</maven.compiler.target>
 8                 </properties>
 9 
10                 ...
11 
12                 <parent>
13                     <groupId>org.springframework.boot</groupId>
14                     <artifactId>spring-boot-starter-parent</artifactId>
15                     <version>2.6.6</version>
16                     <relativePath/> <!-- lookup parent from repository -->
17                 </parent>
18 
19                 <dependencies>
20 
21                     ...
22 
23                     <dependency>
24                         <groupId>org.springframework.boot</groupId>
25                         <artifactId>spring-boot-starter-web</artifactId>
26                     </dependency>
27                     <dependency>
28                         <groupId>org.springframework.boot</groupId>
29                         <artifactId>spring-boot-starter-tomcat</artifactId>
30                         <scope>provided</scope>
31                     </dependency>
32                     <dependency>
33                         <groupId>org.springframework.boot</groupId>
34                         <artifactId>spring-boot-starter-test</artifactId>
35                         <scope>test</scope>
36                     </dependency>
37 
38                     ...
39 
40                 </dependencies>
41             
42                 ...    
43 
44             </project>
? ? ? ? 在IDE中項目列表 -> SpringbootWeb -> 點擊鼠標(biāo)右鍵 -> Maven -> Reload Project

本文選擇了 spring-boot-starter-parent 2.6.6 相關(guān)依賴包,spring-boot-starter 和 spring-boot-starter-test 的版本由 spring-boot-starter-parent 控制。

使用 spring-boot-starter-tomcat 將 tomcat 內(nèi)嵌到 web項目中,打包成 jar 后可以直接用 Java 命令行運行,不需要再部署到額外的 tomcat 服務(wù)器上。

也可以使用 Jetty 代替 Tomcat,兩者不能同時內(nèi)嵌,使用 Jetty 可用如下配置代碼代替 Tomcat 的配置代碼:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>

2) 修改 src/main/java/com/example/App.java 文件

 1         package com.example;
 2 
 3         import org.springframework.boot.SpringApplication;
 4         import org.springframework.boot.autoconfigure.SpringBootApplication;
 5 
 6         @SpringBootApplication
 7         public class App {
 8             public static void main(String[] args) {
 9                 SpringApplication.run(App.class, args);
10                 System.out.println("Spring boot web project");
11             }
12         }
? ??3) 創(chuàng)建 src/main/java/com/example/ServletInitializer.java 文件
 1         package com.example;
 2 
 3         import org.springframework.boot.builder.SpringApplicationBuilder;
 4         import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
 5 
 6         public class ServletInitializer extends SpringBootServletInitializer {
 7 
 8             @Override
 9             protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
10                 return application.sources(App.class);
11             }
12 
13         }
? ??4) 創(chuàng)建 src/main/java/com/example/controller/IndexController.java 文件
 1         package com.example.controller;
 2 
 3         import org.springframework.stereotype.Controller;
 4         import org.springframework.web.bind.annotation.RequestMapping;
 5         import org.springframework.web.bind.annotation.ResponseBody;
 6 
 7         @Controller
 8         public class IndexController {
 9             @ResponseBody
10             @RequestMapping("/hello")
11             public String hello() {
12                 return "Hello page";
13             }
14         }
? ? ? ? 注: src/main/java/com/example/controller 目錄不存在,手動創(chuàng)建各級目錄,下同。

5) 創(chuàng)建 src/main/resources/application.properties 文件

 1         spring.main.banner-mode=off
 2 
 3         # Web server
 4         server.display-name=SpringBootWeb-Test
 5         server.address=localhost
 6         server.port=9090      
 7 
 8         # Logging
 9         logging.level.com.example=trace
10         logging.file.path=logs
11         logging.pattern.console=%d{yyyy-MM-dd hh:mm:ss} [%thread] %-5level - %msg%n | %logger{50}
12
? ??6) 運行

(1) Run App.main()

Open App.java, click mouse right button, select Run “App.main()”

(2) Edit Configurations

Click “+” add new configuration -> Select “Maven”

Command line: clean spring-boot:run
Name: SpringbootWeb [clean,spring-boot:run]

-> Apply / OK

Click Run “SpringbootWeb [clean,spring-boot:run]”

Spring boot web project

訪問 http://localhost:9090/hello

Hello page

注:打包可以將 Command line 改成 clean package spring-boot:repackage

4. 使用 spring-boot-maven-plugin 插件打包

??? 1) jar 打包

(1) 修改 pom.xml

 1             <build>
 2                 ...
 3 
 4                 <!-- 指定 jar 文件名 -->
 5                 <finalName>SpringbootWeb</finalName>
 6 
 7                 <!-- spring-boot-maven-plugin 插件代碼 -->
 8                 <plugins>
 9                     <plugin>
10                         <groupId>org.springframework.boot</groupId>
11                         <artifactId>spring-boot-maven-plugin</artifactId>
12                         <configuration>
13                             <mainClass>com.example.App</mainClass>
14                         </configuration>
15                         <executions>
16                         <execution>
17                             <goals>
18                             <goal>repackage</goal>
19                             </goals>
20                         </execution>
21                         </executions>
22                     </plugin>
23                 </plugins>
24                 ...
25             </build>
? ? ? ? ? ? finalName 屬性用來指定包文件的名稱;

在IDE中項目列表 -> 點擊鼠標(biāo)右鍵 -> Maven -> Reload Project

?(2) 打包

菜單 View -> Tool Windows -> Maven -> SpringbootWeb -> Lifecycle -> Clean & Package

jar 包生成在目錄 target/ 里

SpringbootWeb.jar
SpringbootWeb.jar.original

注:SpringbootWeb.jar? 包含依賴包,可以直接運行。SpringbootWeb.jar.original 里不包含依賴的包(要手動配置依賴環(huán)境),運行前要把文件名上的 “.original” 去掉。

(3) 運行

點擊 IDEA 底部 Terminal 標(biāo)簽頁,執(zhí)行如下命令。

java -jar target/SpringbootWeb.jar

Spring boot web project

訪問 http://localhost:9090/hello,頁面顯示:

Hello page

??? 2) war 打包

(1) 修改 pom.xml

 1             <!-- war 類型設(shè)置 -->
 2             <packaging>war</packaging>
 3 
 4             <!-- 注釋掉這個依賴
 5             <dependency>
 6                 <groupId>org.springframework.boot</groupId>
 7                 <artifactId>spring-boot-starter-tomcat</artifactId>
 8                 <scope>provided</scope>
 9             </dependency>
10             -->
11 
12             <build>
13                 ...
14                 <!-- 指定 war 文件名 -->
15                 <finalName>SpringbootWeb</finalName>
16 
17                 <!-- spring-boot-maven-plugin 插件代碼 -->
18                 <plugins>
19                     <plugin>
20                         <groupId>org.springframework.boot</groupId>
21                         <artifactId>spring-boot-maven-plugin</artifactId>
22                         <configuration>
23                             <mainClass>com.example.App</mainClass>
24                         </configuration>
25                         <executions>
26                         <execution>
27                             <goals>
28                             <goal>repackage</goal>
29                             </goals>
30                         </execution>
31                         </executions>
32                     </plugin>
33                 </plugins>
34                 ...
35             </build>
? ? ? ? ? ? 在IDE中項目列表 -> 點擊鼠標(biāo)右鍵 -> Maven -> Reload Project

(2) 打包

菜單 View -> Tool Windows -> Maven -> SpringbootWeb -> Lifecycle -> Clean & Package

war 包生成在目錄 target/ 里

SpringbootWeb.war
SpringbootWeb.war.original

(3) 運行

把 SpringbootWeb.war 復(fù)制到獨立運行的 Tomcat 下 webapp 目錄,默認(rèn)設(shè)置的 Tomcat 運行在 8080 端口。

Tomcat 會自動解壓 SpringbootWeb.war,在 webapp 下產(chǎn)生 SpringbootWeb 目錄,目錄產(chǎn)生了就可以訪問 http://localhost:8080/SpringbootWeb/hello ,頁面顯示:

Hello page

贊(15)
分享到: 更多 (0)

中國專業(yè)的網(wǎng)站域名及網(wǎng)站空間提供商

買域名買空間
九热视频在线观看_免费成人午夜视频_丰满女人性猛交_无罩大乳的熟妇正在播放_性欧美18一19内谢_欧美一级黄色影院_黄色一级视频播放_各处沟厕大尺度偷拍女厕嘘嘘_激情网站五月天_亚洲午夜精品久久久久久人妖
亚洲午夜视频在线观看| 成人福利视频在线| 亚洲调教欧美在线| 7777精品伊人久久久大香线蕉的 | 亚洲一区二区三区中文字幕在线| 高潮精品一区videoshd| 午夜激情福利电影| 欧美国产精品一区| 成人午夜又粗又硬又大| 欧美卡一卡二卡三| 亚洲六月丁香色婷婷综合久久| caoporn国产精品| 色婷婷av一区二区三区之一色屋| 亚洲情趣在线观看| 人妻体体内射精一区二区| 欧美在线播放高清精品| 亚洲成人在线免费| 欧美激情一区二区三区p站| 91麻豆精品国产91久久久久久 | 亚洲午夜电影网| 永久免费未满蜜桃| 日韩免费观看高清完整版在线观看| 青娱乐精品在线视频| 波多野结衣福利| 欧美精品一区二区蜜臀亚洲| 国产在线精品视频| 成人自拍小视频| 一区二区三区日韩| av在线播放网址| 精品欧美一区二区三区精品久久 | 喷白浆一区二区| av网在线播放| 国产精品网友自拍| 色哟哟免费视频| 91精品国产品国语在线不卡| 美国十次综合导航| 天天爽天天爽天天爽| 亚洲激情欧美激情| 六十路息与子猛烈交尾| 久久久亚洲精品石原莉奈| 成人午夜电影久久影院| 欧美日韩国产高清一区二区三区| 日韩和欧美一区二区| 久久中文字幕精品| 亚洲卡通欧美制服中文| 亚洲国产综合视频| 日本一区二区三区电影| 91色porny蝌蚪| 日韩女优av电影在线观看| 国产福利一区二区三区视频| 欧美伊人久久大香线蕉综合69| 日韩精品视频网| 北条麻妃在线观看视频| 亚洲国产一区二区三区 | 日韩精彩视频在线观看| 三级黄色在线观看| 亚洲午夜激情网站| 呻吟揉丰满对白91乃国产区| 一区二区三区不卡视频在线观看| 欧美特黄一区二区三区| 中文字幕一区二区三区色视频 | 一本在线免费视频| 亚洲一区二区三区四区在线免费观看| 最新中文字幕视频| 亚洲美女区一区| 国产一级久久久久毛片精品| 亚洲人成网站在线| 亚洲一区视频在线播放| 亚洲最大成人综合| 久久久久99精品成人| 亚洲国产视频在线| 小早川怜子一区二区的演员表| 亚洲福利国产精品| 小泽玛利亚一区二区免费| 日韩av电影一区| 色天使色偷偷av一区二区| 蜜臀av一级做a爰片久久| 日本韩国欧美一区二区三区| 激情伊人五月天久久综合| 欧美日韩一卡二卡三卡| 国产黑丝在线一区二区三区| 日韩视频免费观看高清在线视频| av爱爱亚洲一区| 26uuu色噜噜精品一区二区| 亚洲美女精品视频| 一区精品在线播放| 亚洲av熟女国产一区二区性色| 亚洲va欧美va天堂v国产综合| 日韩a级片在线观看| 精品一区二区三区不卡 | 欧美日韩高清一区| 成人免费观看视频| 久久精品亚洲一区二区三区浴池| 网站免费在线观看| 亚洲综合色噜噜狠狠| 亚洲不卡在线播放| 国产永久精品大片wwwapp| 欧美一区二区三区免费| 99国产精品久久久久| 中文字幕精品三区| 亚洲午夜精品久久久久久高潮| 日韩专区欧美专区| 欧美日韩一区二区三区在线| www.欧美.com| 国产精品色噜噜| 婷婷国产成人精品视频| 国内精品自线一区二区三区视频| 欧美电视剧免费全集观看| 日韩av无码一区二区三区不卡| 亚洲精品第1页| 色999日韩国产欧美一区二区| 国产a视频精品免费观看| 久久婷婷国产综合精品青草| 香蕉网在线播放| 奇米在线7777在线精品| 欧美一区二区三区在| 最近日本中文字幕| 亚洲国产精品一区二区久久| 欧美日韩精品一区视频| 一二三区视频在线观看| 一区二区三区四区亚洲| 欧美在线一二三四区| 91污片在线观看| 亚洲精品一二三| 欧美三级乱人伦电影| 国产精品九色蝌蚪自拍| 欧美日韩国产在线观看| 亚洲国产欧美在线| 黑丝av在线播放| 视频一区中文字幕国产| 欧美精品丝袜久久久中文字幕| 成人在线观看一区二区| 一区二区国产视频| 欧美美女一区二区在线观看| 91精品国产高清91久久久久久| 一区二区三区在线观看视频| 波多野结衣的一区二区三区| 亚洲一卡二卡三卡四卡 | 欧美精品18+| 久久久国产精品无码| 日本成人在线不卡视频| 欧美变态口味重另类| 一级片视频免费看| 国产电影一区在线| 亚洲欧美日本韩国| 欧美精品久久99久久在免费线 | 亚洲综合色噜噜狠狠| 欧美电影影音先锋| 久久久久亚洲av成人无码电影| 韩国视频一区二区| 国产精品久久久久毛片软件| 91精品1区2区| 艳妇乳肉亭妇荡乳av| 久久aⅴ国产欧美74aaa| 国产精品久久久久精k8| 欧美日韩亚州综合| 精品人妻一区二区三区视频| 国产激情偷乱视频一区二区三区| 亚洲色图丝袜美腿| 欧美一级搡bbbb搡bbbb| 三区四区在线观看| 成人av网站在线观看| 午夜日韩在线观看| 久久久精品综合| 日本精品一级二级| 在线免费观看麻豆| 成人综合婷婷国产精品久久 | 亚洲精选在线视频| 日韩一区二区三区精品视频| 人妻熟人中文字幕一区二区| 91玉足脚交白嫩脚丫在线播放| 亚州成人在线电影| 久久九九全国免费| 在线观看成人免费视频| 亚洲天堂久久新| 91小视频在线| 另类人妖一区二区av| 最新热久久免费视频| 日韩视频一区在线观看| 色在线观看视频| 成人免费av片| 91在线视频免费91| 久久精品国产99国产精品| 亚洲欧美日韩国产综合| 精品国产污网站| 在线视频综合导航| 粉嫩精品久久99综合一区| 人妻精油按摩bd高清中文字幕| 黄色日韩三级电影| 亚洲制服丝袜在线| 欧美激情一区二区| 日韩欧美中文字幕一区| 在线免费观看日韩欧美| 中文字幕黄色网址| 在线精品视频播放| 成人av电影在线观看| 看片的网站亚洲| 亚洲综合色视频| 国产精品色婷婷久久58| 欧美va亚洲va香蕉在线|