最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Spring Boot搭建Java web項(xiàng)目及開(kāi)發(fā)過(guò)程圖文詳解

 更新時(shí)間:2020年06月30日 10:13:27   作者:張思全  
這篇文章主要介紹了使用Spring Boot搭建Java web項(xiàng)目及開(kāi)發(fā)過(guò)程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、Spring Boot簡(jiǎn)介

Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程。該框架使用了特定的方式來(lái)進(jìn)行配置,從而使開(kāi)發(fā)人員不再需要定義樣板化的配置。通過(guò)這種方式,Boot致力于在蓬勃發(fā)展的快速應(yīng)用開(kāi)發(fā)領(lǐng)域(rapid application development)成為領(lǐng)導(dǎo)者。SpringMVC是非常偉大的框架,開(kāi)源,發(fā)展迅速。優(yōu)秀的設(shè)計(jì)必然會(huì)劃分、解耦。所以,spring有很多子項(xiàng)目,比如core、context、bean、mvc等。這對(duì)知根底的人來(lái)說(shuō)很簡(jiǎn)單明了,然而springmvc就是為了傻瓜式的操作而發(fā)明的。對(duì)于初學(xué)springmvc的人來(lái)說(shuō),想要入手就開(kāi)發(fā)需要拷貝一連串的dependency而不知道這個(gè)是干嘛,不知道是不是少了依賴。像我剛接觸springmvc的時(shí)候到處百度教程而發(fā)現(xiàn)各有不同,于是復(fù)制了一個(gè)又一個(gè)代碼卻不能自己設(shè)置,根本原因是不了解各個(gè)依賴的包。

Spring-Boot 正是為了解決繁復(fù)的代碼配置而產(chǎn)生的。Spring-Boot 也是基于java-base 開(kāi)發(fā)的代碼,及不用xml文件配置,所有代碼都由java來(lái)完成。還可以加入Groovy的動(dòng)態(tài)語(yǔ)言執(zhí)行。

本文是一個(gè)Spring Boot入門級(jí)的helloworld程序。

二、準(zhǔn)備工作

  1. Java JDK1.7(安裝過(guò)程省略)
  2. maven:apache-maven-3.3.9(安裝過(guò)程省略)
  3. eclipse(安裝過(guò)程省略)
  4. spring-boot-1.5.1

三、用Spring Boot新建web項(xiàng)目

新建一個(gè)maven工程(注意,不要勾選create from archytype,雖然它會(huì)幫你創(chuàng)建骨架,但是會(huì)從外網(wǎng)下載一些東西,很慢,導(dǎo)致會(huì)卡在那,下載東西的時(shí)間,還不如手工創(chuàng)建一下目錄,分分鐘搞定)。

然后輸入相應(yīng)的groupId,artifactId。

項(xiàng)目創(chuàng)建過(guò)程就省略了。項(xiàng)目建好后,目錄結(jié)構(gòu)是這樣的:

打開(kāi)pom.xml文件,添加<parent></parent>節(jié)點(diǎn):

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.example</groupId>
 <artifactId>myproject</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-parent</artifactId>
 <version>1.4.0.RELEASE</version>
 </parent>
 <!-- Additional lines to be added here... -->
</project>

上面沒(méi)有添加任何依賴,但仍然可以build。使用命令行:mvn package 對(duì)項(xiàng)目進(jìn)行打包。

注意,是當(dāng)前項(xiàng)目路徑E:\workspace-springBoot\zsqSpringBoot>下執(zhí)行命令。當(dāng)然,你也可以使用IDE,不過(guò)使用文本編輯器會(huì)讓我們對(duì)它更理解。

現(xiàn)在需要添加依賴 -- 其實(shí)就是把依賴的jar添加到buildpath。由于我們已經(jīng)繼承了 spring-boot-starter-parent ,而 spring-boot-starter-parent 又提供了 dependency-management ,所以我們可以忽略被選中依賴的版本。

在添加依賴之前,我們先看一下現(xiàn)在已有什么:mvn dependency:tree。該命令會(huì)打印一個(gè)當(dāng)前項(xiàng)目的依賴樹(shù)。

結(jié)果表明,當(dāng)前沒(méi)有任何依賴。 如下:

OK,現(xiàn)在我們添加spring-web項(xiàng)目依賴:

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

現(xiàn)在再次查看一下依賴樹(shù)。

可以看出,spring-boot-starter-web  包含了很多內(nèi)容,spring-webmvc、spring-web、jackson、validation、tomcat、starter。

好,接下來(lái)修改pom.xml,我直接貼上我的pom.xml完整配置信息:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 
 <groupId>com.zsq.msb</groupId>
 <artifactId>zsqSpringBoot</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 
 <!-- Maven POM文件繼承 spring-boot-starter-parent -->
 <parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-parent</artifactId>
 <version>1.4.0.RELEASE</version>
 </parent>
 
 <!-- 為一個(gè)web應(yīng)用程序添加典型的依賴關(guān)系, Starter POMs依賴 -->
 <dependencies>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
 </dependency>
 </dependencies>
 
 <!-- Spring Boot也提供了一個(gè)可選的 Maven Plugin來(lái)創(chuàng)建可執(zhí)行的jars -->
 <build>
 <plugins>
 <plugin>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-maven-plugin</artifactId>
 </plugin>
 </plugins>
 </build>
 
</project>

可以看出,繼承了spring-boot-starter-parent,依賴了junit,spring-boot-starter-web,spring-boot-maven-plugin。以前我們?cè)趕pring的配置,spring-boot都會(huì)按照默認(rèn)配置,幫我們弄好。(你可以像使用標(biāo)準(zhǔn)的Java庫(kù)文件一樣使用Spring Boot。簡(jiǎn)單的將需要的 spring-boot-*.jar 添加到classpath即可。)

Spring Boot不要求任何特殊的工具集成,所以可以使用任何IDE,甚至文本編輯器。只是,仍然建議使用build工具:Maven 或 Gradle。

Spring Boot依賴使用 org.springframework.boot groupId 。通常,讓你的Maven POM文件繼承 spring-boot-starter-parent,并聲明一個(gè)或多個(gè) Starter POMs依賴即可。Spring Boot也提供了一個(gè)可選的 Maven Plugin來(lái)創(chuàng)建可執(zhí)行的jars。

需要注意的是, spring-boot-starter-parent 是一個(gè)非常好的方法,但并不適用于所有情況。有時(shí)你需要繼承其他的POM,或者你不喜歡默認(rèn)的設(shè)置,可以使用另外的方式。

完成后下載了相關(guān)的額jar包,如下圖:

現(xiàn)在就可以開(kāi)始寫代碼了。 由于Maven默認(rèn)編譯路徑為 src/main/java 下面的源碼,所以,默認(rèn)設(shè)置下,需要?jiǎng)?chuàng)建這些文件夾。然后,編寫文件 src/main/java/Example.java:

package com.zsq.msb.dexam;
 
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
 
@Controller
@EnableAutoConfiguration
public class Example {
 
 @RequestMapping(value ="/home", method = RequestMethod.GET)
 @ResponseBody
 public String home(){
 return "你好,Spring Boot";
 }
 
 public static void main(String[] args){
 SpringApplication.run(Example.class, args);
 
 }

}

這里我們只需要關(guān)心 @EnableAutoConfiguration 即可。這個(gè)注解是讓Spring Boot猜測(cè) 你想怎么配置Spring,但實(shí)際上,它是根據(jù)你添加到classpath中的依賴來(lái)判斷的。

注意,自動(dòng)配置 可以配合 Starter POMs 一起工作,但二者不是捆綁到一起的。你仍然可以將Starter POMs中的依賴單獨(dú)揀出使用,Spring Boot還是會(huì)自動(dòng)配置。

現(xiàn)在可以右鍵運(yùn)行main方法,效果如下:

當(dāng)你看到這樣的運(yùn)行后的效果,說(shuō)明配置是成功的,這樣也就相當(dāng)于項(xiàng)目已經(jīng)啟動(dòng)了。(當(dāng)然,由于我們使用了 spring-boot-starter-parent POM,所以可以使用 mvn spring-boot:run來(lái)啟動(dòng)項(xiàng)目(根路徑)。)

注意:在啟動(dòng)之前,先使用Maven來(lái)install(打包),你可以在/target目錄下看到zsqSpringBoot-0.0.1-SNAPSHOT.jar,大約10 Mb左右??梢酝ㄟ^(guò) jar tvf target/zsqSpringBoot-0.0.1-SNAPSHOT.jar來(lái)查看其中的內(nèi)容。此外,在/target目錄下,還可以看到 zsqSpringBoot-0.0.1-SNAPSHOT.jar.original,這是Maven打包出來(lái)的。也可以使用命令來(lái)啟動(dòng)項(xiàng)目,在項(xiàng)目文件下執(zhí)行命令如:java -jar target/zsqSpringBoot-0.0.1-SNAPSHOT.jar。

使用命令啟動(dòng)項(xiàng)目效果如下:

執(zhí)行 ctrl+c,退出。

另外,查看日志可以發(fā)現(xiàn)默認(rèn)使用的是tomcat,端口綁定在8080:

現(xiàn)在讓我們來(lái)訪問(wèn):http://localhost:8080/home。如下圖:

就可以看到我們代碼中輸出的字樣:“你好,Spring Boot”了。

回首這個(gè)過(guò)程,是不是相比于以前快速了許多呢??!

源碼下載地址:http://xiazai.jb51.net/202006/yuanma/zsqSpringBoot_jb51.rar

總結(jié)

到此這篇關(guān)于使用Spring Boot搭建Java web項(xiàng)目及開(kāi)發(fā)過(guò)程圖文詳解的文章就介紹到這了,更多相關(guān)spring boot 搭建javaweb項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入分析JAVA 多線程--interrupt()和線程終止方式

    深入分析JAVA 多線程--interrupt()和線程終止方式

    這篇文章主要介紹了JAVA 多線程--interrupt()和線程終止方式的的相關(guān)資料,文中代碼非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • Spring Boot中RabbitMQ自動(dòng)配置的介紹、原理和使用方法

    Spring Boot中RabbitMQ自動(dòng)配置的介紹、原理和使用方法

    本文介紹了Spring Boot中RabbitMQ自動(dòng)配置的介紹、原理和使用方法,通過(guò)本文的介紹,我們希望讀者能夠更好地理解Spring Boot中RabbitMQ的使用方法,并在項(xiàng)目中更加靈活地應(yīng)用,感興趣的朋友跟隨小編一起看看吧
    2023-07-07
  • 詳解Java如何跨平臺(tái)獲取MAC地址

    詳解Java如何跨平臺(tái)獲取MAC地址

    有時(shí)我們因?yàn)檐浖跈?quán)或者其它需要獲取主機(jī)唯一標(biāo)識(shí)而需要獲取用戶主機(jī)的MAC地址,而本文則將介紹如何通過(guò)Java來(lái)實(shí)現(xiàn)跨平臺(tái)獲取MAC地址的兩種方法,需要的朋友可以參考下
    2021-06-06
  • Java中在時(shí)間戳計(jì)算的過(guò)程中遇到的數(shù)據(jù)溢出問(wèn)題解決

    Java中在時(shí)間戳計(jì)算的過(guò)程中遇到的數(shù)據(jù)溢出問(wèn)題解決

    這篇文章主要介紹了Java中在時(shí)間戳計(jì)算的過(guò)程中遇到的數(shù)據(jù)溢出問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Gateway網(wǎng)關(guān)自定義攔截器的不可重復(fù)讀取數(shù)據(jù)問(wèn)題

    Gateway網(wǎng)關(guān)自定義攔截器的不可重復(fù)讀取數(shù)據(jù)問(wèn)題

    這篇文章主要介紹了Gateway網(wǎng)關(guān)自定義攔截器的不可重復(fù)讀取數(shù)據(jù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 將Mybatis升級(jí)為Mybatis-Plus的詳細(xì)過(guò)程

    將Mybatis升級(jí)為Mybatis-Plus的詳細(xì)過(guò)程

    本文詳細(xì)介紹了在若依管理系統(tǒng)(v3.8.8)中將MyBatis升級(jí)為MyBatis-Plus的過(guò)程,旨在提升開(kāi)發(fā)效率,通過(guò)本文,開(kāi)發(fā)者可實(shí)現(xiàn)系統(tǒng)功能無(wú)損升級(jí),同時(shí)享受MyBatis-Plus帶來(lái)的便捷特性,如代碼簡(jiǎn)化和性能優(yōu)化,需要的朋友可以參考下
    2025-04-04
  • Java打印九九乘法表代碼詳情

    Java打印九九乘法表代碼詳情

    這篇文章主要介紹了Java打印九九乘法表,使用了雙重for循環(huán),使用do{}while()實(shí)現(xiàn)打印九九乘法表這些好玩的語(yǔ)法實(shí)現(xiàn),感興趣的小伙伴可參考下面文章內(nèi)容
    2021-09-09
  • 學(xué)習(xí)Java之IO流的基礎(chǔ)概念詳解

    學(xué)習(xí)Java之IO流的基礎(chǔ)概念詳解

    這篇文章主要給大家介紹了Java中的IO流,我們首先要搞清楚一件事,就是為什么需要IO流這個(gè)東西,但在正式學(xué)習(xí)IO流的使用之前,小編有必要帶大家先了解一下IO流的基本概念,需要的朋友可以參考下
    2023-09-09
  • 詳細(xì)分析Java并發(fā)集合LinkedBlockingQueue的用法

    詳細(xì)分析Java并發(fā)集合LinkedBlockingQueue的用法

    這篇文章主要介紹了詳細(xì)分析Java并發(fā)集合LinkedBlockingQueue的用法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • mybatis?@InsertProvider報(bào)錯(cuò)問(wèn)題及解決

    mybatis?@InsertProvider報(bào)錯(cuò)問(wèn)題及解決

    這篇文章主要介紹了mybatis?@InsertProvider報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07

最新評(píng)論

璧山县| 长泰县| 塔河县| 建湖县| 北碚区| 邳州市| 忻州市| 改则县| 沙田区| 比如县| 永寿县| 衡阳市| 韶山市| 宣威市| 新沂市| 四会市| 宽城| 遵化市| 彭泽县| 雷波县| 三穗县| 濮阳市| 河源市| 葫芦岛市| 清苑县| 崇义县| 军事| 德州市| 鄂托克旗| 陇西县| 垫江县| 玉林市| 荆州市| 田东县| 隆安县| 青阳县| 铜鼓县| 英德市| 保亭| 新乡县| 炉霍县|