日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747


1.什么是 Spring Boot ?

解釋一下:Spring Boot 可以構(gòu)建一切。Spring Boot 設(shè)計(jì)之初就是為了最少的配置,最快的速度來啟動(dòng)和運(yùn)行 Spring 項(xiàng)目。Spring Boot 使用特定的配置來構(gòu)建生產(chǎn)就緒型的項(xiàng)目。

Spring Boot 的特性:

  • 使用 Spring 項(xiàng)目引導(dǎo)頁面可以在幾秒構(gòu)建一個(gè)項(xiàng)目

  • 方便對外輸出各種形式的服務(wù),如 REST API、WebSocket、Web、Streaming、Tasks

  • 非常簡潔的安全策略集成

  • 支持關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫

  • 支持運(yùn)行期內(nèi)嵌容器,如 Tomcat、Jetty

  • 強(qiáng)大的開發(fā)包,支持熱啟動(dòng)

  • 自動(dòng)管理依賴

  • 自帶應(yīng)用監(jiān)控

  • 支持各種 IED,如 IntelliJ IDEA、NetBeans

2.Spring Boot 快速入門

 

構(gòu)建項(xiàng)目:

(1)訪問 http://start.spring.io/。

(2)選擇構(gòu)建工具 Maven Project、Spring Boot 版本 1.5.8 及一些工程基本信息,可參考下圖:

寫給新手看的 Spring Boot 入門學(xué)習(xí)指南

(3)單擊 Generate Project 按鈕并下載項(xiàng)目壓縮包。

(4)解壓后,單擊 Eclipse,Import | Existing Maven Projects | Next | 選擇解壓后的文件夾 | Finsh 命令,OK Done!

(5)如果使用的是 Idea,單擊 File | New | Model from Existing Source.. | 選擇解壓后的文件夾 | OK 命令, 選擇 Maven ,一路 Next,OK Done!

如果讀者使用的是 Idea 工具,也可以這樣:

(1)單擊 File | New | Project… 命令,彈出新建項(xiàng)目框。

(2)選擇 Spring Initializr 選項(xiàng),單擊 Next 按鈕,也會(huì)出現(xiàn)上述類似的配置界面,Idea 幫我們做了集成。

(3)填寫相關(guān)內(nèi)容后,單擊 Next 按鈕,選擇依賴的包再單擊 Next 按鈕,最后確定信息無誤單擊 Finish 按鈕。

對上面的配置做一個(gè)解釋:

  • 第一個(gè)選擇框選擇創(chuàng)建以 Maven 構(gòu)建項(xiàng)目,還是以 Gradle 構(gòu)建項(xiàng)目,這是兩種不同的構(gòu)建方式,其中 Gradel 配置內(nèi)容更簡潔一些,并且包含了 Maven 的使用,不過日常使用 Maven 居多。

  • 第二個(gè)選擇框選擇編程語言,現(xiàn)在支持 JAVA、Kotlin 和 Groovy。

  • 第三個(gè)選擇框選擇 Spring Boot 版本,可以看出 Spring Boot 2.0 已經(jīng)到了第五個(gè)里程碑了。在實(shí)際使用中,我們會(huì)優(yōu)先使用穩(wěn)定版本,1.0 的最新穩(wěn)定版本是 1.5.8,也是我們演示使用的版本。

下面就是項(xiàng)目的配置信息了。

  • Group:一般填寫公司域名,比如百度公司填 com.baidu,演示使用 com.neo。

  • Artifact:可以理解為項(xiàng)目的名稱,可以根據(jù)實(shí)際情況來填,本次演示填寫 helloWorld。

  • Dependencies:在這塊添加我們項(xiàng)目所依賴的 Spring Boot 組件,可以多選。本次選擇 Web、devtools 兩個(gè)模塊。

3.項(xiàng)目結(jié)構(gòu)介紹

寫給新手看的 Spring Boot 入門學(xué)習(xí)指南

如上圖所示,Spring Boot 的基礎(chǔ)結(jié)構(gòu)共三個(gè)文件:

  • src/main/java:程序開發(fā)以及主程序入口

  • src/main/resources:配置文件

  • src/test/java:測試程序

另外,Sping Boot 建議的目錄結(jié)果如下:

root package 結(jié)構(gòu):com.example.myproject

寫給新手看的 Spring Boot 入門學(xué)習(xí)指南

com.example.myproject 目錄下:

  • Application.java:建議放到根目錄下面,是項(xiàng)目的啟動(dòng)類,Spring Boot 項(xiàng)目只能有一個(gè) main 方法。

  • comm:目錄建議放置公共的類,如全局的配置文件、工具類等。

  • domain:目錄主要用于實(shí)體(Entity)與數(shù)據(jù)訪問層(Repository)。

  • repository:數(shù)據(jù)庫訪問層代碼。

  • service:該層主要是業(yè)務(wù)類代碼。

  • web:該層負(fù)責(zé)頁面訪問控制。

resources 目錄下:

  • static:目錄存放 Web 訪問的靜態(tài)資源,如 JS、css、圖片等。

  • templates:目錄存放頁面模板。

  • application.properties:項(xiàng)目的配置信息。

test 目錄存放單元測試的代碼;pom.xml 用于配置項(xiàng)目依賴包,以及其他配置。

采用默認(rèn)配置可以省去很多設(shè)置,當(dāng)然也可以根據(jù)自己的喜好來進(jìn)行更改。最后,啟動(dòng) Application main 方法,至此一個(gè) Java 項(xiàng)目搭建好了!

4.簡單 Web 開發(fā)

(1)可以在 Spring Initializr 上面添加,也可以手動(dòng)在 pom.xml 中添加:

寫給新手看的 Spring Boot 入門學(xué)習(xí)指南

pom.xml 文件中默認(rèn)有兩個(gè)模塊:

  • spring-boot-starter:核心模塊,包括自動(dòng)配置支持、日志和 YAML;

  • spring-boot-starter-test:測試模塊,包括 JUnit、Hamcrest、Mockito。

(2)編寫 controller 內(nèi)容:


 

@RestControllerpublic class HelloWorldController

{ @RequestMapping("/hello")
public String hello
{
return "Hello World"; }}

@RestController的意思就是 controller 里面的方法都以 json 格式輸出,不用再配置什么 jackjson 的了!

如果配置為@Controller就代表著輸出為頁面內(nèi)容。

(3)啟動(dòng)主程序,打開瀏覽器訪問 http://localhost:8080/hello,就可以看到以下內(nèi)容,是不是很簡單!


 

Hello World

(4)如果我們想傳入?yún)?shù)怎么辦?


 

@RestControllerpublic class HelloWorldController
{ @RequestMapping("/hello")
public String index(String name)
{
return "Hello World, " +name; }}

重新啟動(dòng)項(xiàng)目,訪問 http://localhost:8080/hello?name=neo,返回內(nèi)容如下:


 

Hello World,neo

經(jīng)過上一個(gè)測試發(fā)現(xiàn),修改 controller 內(nèi)相關(guān)代碼,就需要重新啟動(dòng)項(xiàng)目才能生效,這樣做很麻煩是不是,別著急。Spring Boot 提供了另外一個(gè)組件來解決。

5.熱部署

熱啟動(dòng)就需要用到我們在一開始引入的另外一個(gè)組件:devtools。它是 Spring Boot 提供的一組開發(fā)工具包,其中就包含我們需要的熱部署功能。但是在使用這個(gè)功能之前還需要再做一些配置。

(1)在 dependency 中添加 optional 屬性,并設(shè)置為 true:

寫給新手看的 Spring Boot 入門學(xué)習(xí)指南

(2)在 plugin 中配置另外一個(gè)屬性 fork,并且配置為 true:

寫給新手看的 Spring Boot 入門學(xué)習(xí)指南

OK,以上兩步配置完成,如果讀者使用的是 Eclipse,那么恭喜你大功告成了。

如果讀者使用的是 Idea 還需要做以下配置。

(3)配置 Idea

選擇 File-Settings-Compiler 勾選 Build project automatically,低版本 Idea 勾選make project automatically

寫給新手看的 Spring Boot 入門學(xué)習(xí)指南

使用快捷鍵:CTRL + SHIFT + A輸入Registry找到選項(xiàng)compile.automake.allow.when.app.running勾選

寫給新手看的 Spring Boot 入門學(xué)習(xí)指南

全部配置完成后,Idea 就支持熱部署了,大家可以試著去改動(dòng)一下代碼就會(huì)發(fā)現(xiàn) Spring Boot 會(huì)自動(dòng)重新加載,再也不需要我們手動(dòng)點(diǎn)擊重新部署了。

為什么 Idea 需要多配置后面這一步呢,因?yàn)?Idea 默認(rèn)不是自動(dòng)編譯的,需要我們手動(dòng)去配置后才會(huì)自動(dòng)編譯,而熱部署依賴于項(xiàng)目的自動(dòng)編譯功能。

該模塊在完整的打包環(huán)境下運(yùn)行的時(shí)候會(huì)被禁用。如果使用 java -jar 啟動(dòng)應(yīng)用或者用一個(gè)特定的 classloader 啟動(dòng),它會(huì)認(rèn)為這是一個(gè)“生產(chǎn)環(huán)境”。

6.單元測試

單元測試在日常開發(fā)中是必不可少的,一個(gè)牛逼的程序員,單元測試寫得也是杠杠的。下面來看下 Spring Boot 對單元測試又做了哪些支持?

如果我們只想運(yùn)行一個(gè) hello World,只需要一個(gè)注解就可以。在 src/test 目錄下新建一個(gè) HelloTests 類,代碼如下:


 

public class HelloTest
{ @Test public void hello
{ System.out.println("hello world"); }}

單擊右鍵“運(yùn)行”按鈕,會(huì)發(fā)現(xiàn)控制臺輸出:hello world。僅僅只需要了一個(gè)注解。但是如果我們需要測試 web 層的請求呢?Spring Boot 也給出了支持。

以往我們在測試 web 請求的時(shí)候,需要手動(dòng)輸入相關(guān)參數(shù)在頁面測試查看效果,或者自己寫 post 請求。在 Spring Boot 中,Spring 給出了一個(gè)簡單的解決方案;使用 mockmvc 進(jìn)行 web 測試,mockmvc 內(nèi)置了很多工具類和方法,可以模擬 post、get 請求,并且判斷返回的結(jié)果是否正確等,也可以利用print打印執(zhí)行結(jié)果。


 

@SpringBootTest
public class HelloTest
{
private MockMvc mockMvc;
@Before
public void setUp t
hrows Exception
{ mockMvc = MockMvcBuilders.standaloneSetup(new HelloWorldController).build; }
@Test public void getHello
throws Exception
{ mockMvc.perform(MockMvcRequestBuilders.post("/hello?name=小明").accept(MediaType.APPLICATION_JSON_UTF8)).andDo(print); }}

在類的上面添加@SpringBootTest,系統(tǒng)會(huì)自動(dòng)加載 Spring Boot 容器。在日常測試中,我們就可以注入 bean 來做一些局部業(yè)務(wù)的測試。MockMvcRequestBuilders可以 post、get 請求,使用print方法會(huì)將請求和相應(yīng)的過程都打印出來,如下:


 

MockHttpServletRequest: HTTP Method = POST Request URI = /hello Parameters = {name=[neo]} Headers = {}Handler: Type = com.neo.helloWorld.web.HelloWorldController Method = public java.lang.String com.neo.helloWorld.web.HelloWorldController.hello(java.lang.String)...MockHttpServletResponse: Status = 200
Error message =
Headers = {Content-Type=[text/plain;charset=ISO-8859-1], Content-Length=[16]} Content type = text/plain;
charset=ISO-8859-1
Body = Hello World ,neo Forwarded URL =
Redirected URL =
Cookies =

從返回的Body = Hello World ,neo可以看出請求成功。

7.總結(jié)

使用 Spring Boot 可以非常方便、快速搭建項(xiàng)目,而不用關(guān)心框架之間的兼容性、適用版本等各種問題,我們想使用任何東西,僅僅添加一個(gè)配置就可以,所以使用 Sping Boot 非常適合構(gòu)建微服務(wù)。

建議大家使用 Idea 開發(fā) Spring Boot 項(xiàng)目,Eclipse 對 Spring Boot 項(xiàng)目支持并不好,并且使用 Eclipse 偶爾會(huì)出現(xiàn)一些詭異的問題,影響初學(xué)者的學(xué)習(xí)。

關(guān)于完整的學(xué)習(xí) Spring Boot 路徑,我寫了結(jié)構(gòu)更加清晰,知識點(diǎn)更加系統(tǒng)的課程。

分享到:
標(biāo)簽:Spring Boot
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定