成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

SpringBoot 實(shí)戰(zhàn) (二) | 第一個(gè) SpringBoot 工程詳解

GeekQiaQia / 2523人閱讀

摘要:代碼如下可以看到中一共有個(gè)依賴,其中只有是我手動(dòng)加入的,用于單元測(cè)試。點(diǎn)擊項(xiàng)目啟動(dòng)按鈕,效果如下好的程序必須配備完善的單元測(cè)試。測(cè)試結(jié)果如下可以看到紅圈框住的地方,出現(xiàn)這個(gè)綠色標(biāo)志證明單元測(cè)試沒(méi)問(wèn)題。

微信公眾號(hào):一個(gè)優(yōu)秀的廢人
如有問(wèn)題或建議,請(qǐng)后臺(tái)留言,我會(huì)盡力解決你的問(wèn)題。
前言

哎呦喂,按照以往的慣例今天周六我的安排應(yīng)該是待在家學(xué)學(xué)貓叫啥的。但是今年這種日子就可能一去不復(fù)返了,沒(méi)法辦法啊。前幾天年輕,立下了一周至少更兩篇文章的 flag 。廢話少說(shuō),今天接著前文給你們帶來(lái)了第一個(gè) SpringBoot 工程的詳解。

第一個(gè) SpringBoot 工程

前文已經(jīng)說(shuō)過(guò)了 SpringBoot 工程的創(chuàng)建,這里不再贅述,還不會(huì)的朋友,請(qǐng)看下面這篇文章。

如何使用 IDEA 構(gòu)建 Spring Boot 工程

學(xué)過(guò)編程的都知道,學(xué)習(xí)一門(mén)新語(yǔ)言的第一個(gè)項(xiàng)目肯定是 Hello World 。那這里也不例外,我們先創(chuàng)建一個(gè)非常簡(jiǎn)單的 Hello World 工程。給大家講解 SpringBoot 的項(xiàng)目目錄。創(chuàng)建信息如下:

由于本文重點(diǎn)旨在講解 SpringBoot 的項(xiàng)目目錄。所以選擇的依賴包非常簡(jiǎn)單,就選擇 Web 足矣。

SpringBoot 項(xiàng)目目錄詳解

創(chuàng)建成功之后的 SpringBoot 項(xiàng)目目錄如下,以下對(duì)各主要目錄的作用進(jìn)行講解:

src 是整個(gè)工程的根目錄,基本上做 web 開(kāi)發(fā)你的代碼大部分都放在這里。其中 main 目錄下放置的是你的 Java 代碼;resource 目錄,顧名思義就是放置配置文件、靜態(tài)資源( static )以及前端模板( template )。

test 目錄就是放置你的單元測(cè)試代碼。

target 就是項(xiàng)目編譯生成的目錄,里面包含代碼編譯后的 class 文件以及一些靜態(tài)資源和配置文件。

External Libraries 這里放置了,pom.xml 導(dǎo)入的依賴包。

其他沒(méi)提到的目錄都是不重要的。

由上圖項(xiàng)目目錄,可以看到有幾個(gè)文件,這些文件有些是我新建的,有些是項(xiàng)目生成的。下面我會(huì)講解:

pom.xml 這個(gè)文件是整個(gè)項(xiàng)目最重要的文件,它包含了整個(gè)項(xiàng)目的依賴包。Maven 會(huì)根據(jù)這個(gè)文件導(dǎo)入相關(guān)的我們開(kāi)發(fā)需要的依賴包。代碼如下:

可以看到 pom.xml 中一共有 4 個(gè)依賴,其中只有 Junit 是我手動(dòng)加入的,用于單元測(cè)試。

其他的如 Spring Boot 啟動(dòng)父依賴、Spring Boot web依賴 、Spring Boot web test依賴都是創(chuàng)建項(xiàng)目時(shí),勾選 web 選項(xiàng)卡而生成的。這幾個(gè)依賴包的額作用就是 內(nèi)嵌 Tomcat 容器,集成各 Spring 組件。比如 如果沒(méi)有依賴 web 包 ,Spring 的兩大核心功能 IOC 和 AOP 將不會(huì)生效。



    4.0.0
    com.nasus
    helloworld
    0.0.1-SNAPSHOT
    helloworld
    Demo project for Spring Boot

    
        1.8
    

    
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.1.RELEASE
         
    

    
        
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
        
            junit
            junit
            4.12
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


HelloworldApplication.java 最為重要,它由項(xiàng)目生成,是整個(gè)工程的應(yīng)用啟動(dòng)類 main 函數(shù)。代碼由項(xiàng)目生成,代碼如下:SpringApplication 引導(dǎo)應(yīng)用,并將 HelloworldApplication 本身作為參數(shù)傳遞給 run 方法。具體 run 方法會(huì)啟動(dòng)嵌入式的 Tomcat 并初始化 Spring環(huán)境及其各 Spring 組件。

需要注意的是,這個(gè)類必須放在其他類的上冊(cè)目錄,拿上述目錄舉個(gè)栗子, 若其他HelloWorldController.java 類位于 com.nasus.controller 下。則 HelloworldApplication.java 類必須放置在 com.nasus 下或者 com 下(層級(jí)必須大于其他 java 類)。否則啟動(dòng)項(xiàng)目訪問(wèn)會(huì)報(bào) Whitelabel Error Page 錯(cuò)誤,原因是項(xiàng)目掃描不到 @RestController、@RequestMapping 等注解配置的方法和類。

package com.nasus.helloworld;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

HelloWorldController 是我手動(dòng)編寫(xiě)的,代碼如下:@RestController 和 @RequestMapping 注解是來(lái)自 SpringMVC 的注解,它們不是 SpringBoot 的特定部分。

其中 @RestController 注解的作用是:提供實(shí)現(xiàn)了 REST API,可以服務(wù) JSON、XML 或者其他。這里是以 String 的形式渲染出結(jié)果。

其中 @RestController 注解的作用是:提供路由信息,"/“路徑的HTTP Request都會(huì)被映射到sayHello方法進(jìn)行處理。

?具體參考,Spring 官方的文檔《Spring Framework Document》

package com.nasus.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Project Name:helloworld 
* Package Name:com.nasus.controller
* Date:2019/1/5 13:59
* Description: TODO: 描述該類的作用
* * @author nasus
* Copyright Notice ========================================================= * This file contains proprietary information of Eastcom Technologies Co. Ltd. * Copying or reproduction without prior written approval is prohibited. * Copyright (c) 2019 ======================================================= */ @RestController public class HelloWorldController { @RequestMapping("/hello") public String sayHello() { return "Hello,World!"; } }

寫(xiě)完 Controller 層的代碼,我們就可以啟動(dòng)此項(xiàng)目。點(diǎn)擊 IDEA 項(xiàng)目啟動(dòng)按鈕,效果如下:

好的程序必須配備完善的單元測(cè)試。HelloWorldControllerTest.java 文件是由我編寫(xiě)的主要作用就是測(cè)試 HelloWorldController.java 中的方法。這里用的是 Junit 依賴包進(jìn)行單元測(cè)試,代碼如下:這里的邏輯就是測(cè)試 HelloWorldController.java 的 sayHello 方法輸出的字符是否是 Hello,World!

package com.nasus;

import static org.junit.Assert.assertEquals;
import com.nasus.controller.HelloWorldController;
import org.junit.Test;

/**
 * Project Name:helloworld 
* Package Name:com.nasus
* Date:2019/1/5 14:01
* Description: TODO: 描述該類的作用
* * @author nasus
* Copyright Notice ========================================================= * This file contains proprietary information of Eastcom Technologies Co. Ltd. * Copying or reproduction without prior written approval is prohibited. * Copyright (c) 2019 ======================================================= */ public class HelloWorldControllerTest { @Test public void testSayHello() { assertEquals("Hello,World!",new HelloWorldController().sayHello()); } }

編寫(xiě)完成之后,可以通過(guò)以下按鈕啟動(dòng)單元測(cè)試類。

測(cè)試結(jié)果如下:可以看到紅圈框住的地方,出現(xiàn)這個(gè)綠色標(biāo)志證明單元測(cè)試沒(méi)問(wèn)題。sayhello 方法的結(jié)果是對(duì)的。

后語(yǔ)

我為什么要寫(xiě)這種這么簡(jiǎn)單的教程?
是這樣的,我始終認(rèn)為比我聰明的人有很多,但比我笨的人也不少。在中國(guó)有很多你認(rèn)為眾所周知的事,其實(shí)有一車(chē)人根本不知道,這篇文章哪怕只幫助到一個(gè)人,足矣。

之后我打算出一個(gè) SpringBoot 系列的教程,敬請(qǐng)關(guān)注與指正,本人也是一個(gè)小菜鳥(niǎo)在打怪升級(jí)中,如本文有不正確的地方,煩請(qǐng)指正。一起學(xué)習(xí)一起進(jìn)步。

以上就是我對(duì) SpringBoot 工程的理解,希望對(duì)你們有幫助。最后,對(duì) Python 、Java 感興趣請(qǐng)長(zhǎng)按二維碼關(guān)注一波,我會(huì)努力帶給你們價(jià)值,如果覺(jué)得本文對(duì)你哪怕有一丁點(diǎn)幫助,請(qǐng)幫忙點(diǎn)好看,讓更多人知道。

另外,關(guān)注之后在發(fā)送 1024 可領(lǐng)取免費(fèi)學(xué)習(xí)資料。資料內(nèi)容詳情請(qǐng)看這篇舊文:Python、C++、Java、Linux、Go、前端、算法資料分享

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/73336.html

相關(guān)文章

  • SpringBoot 實(shí)戰(zhàn) (三) | 配置文件詳解

    摘要:前言如題,今天解析下的配置文件。這時(shí)我們就可以用的屬性來(lái)配置隨機(jī)數(shù),比如隨機(jī)字符串隨機(jī)隨機(jī)以內(nèi)的隨機(jī)數(shù)的隨機(jī)數(shù)使用多配置文件很多時(shí)候我們開(kāi)發(fā)項(xiàng)目都需要很多套環(huán)境,比如有測(cè)試環(huán)境,開(kāi)發(fā)環(huán)境以及生產(chǎn)環(huán)境。原因是,是以的編碼方式讀取配置文件。 微信公眾號(hào):一個(gè)優(yōu)秀的廢人如有問(wèn)題或建議,請(qǐng)后臺(tái)留言,我會(huì)盡力解決你的問(wèn)題。 前言 如題,今天解析下 SpringBoot 的配置文件。 自定義屬性加...

    chenjiang3 評(píng)論0 收藏0
  • SpringBoot非官方教程 | 篇:SpringBoot配置文件詳解

    摘要:采納了建立生產(chǎn)就緒應(yīng)用程序的觀點(diǎn)。優(yōu)先于配置的慣例,旨在讓您盡快啟動(dòng)和運(yùn)行。啟動(dòng)工程,訪問(wèn)我們會(huì)發(fā)現(xiàn)配置文件信息讀到了。三自定義配置文件上面介紹的是我們都把配置文件寫(xiě)到中。源碼下載五參考文獻(xiàn)干貨系列二配置文件解析屬性配置文件詳解 springboot采納了建立生產(chǎn)就緒Spring應(yīng)用程序的觀點(diǎn)。 Spring Boot優(yōu)先于配置的慣例,旨在讓您盡快啟動(dòng)和運(yùn)行。在一般情況下,我們不需要做...

    荊兆峰 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

GeekQiaQia

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<