spring boot 入門

什麼是spring boot

從本質上來說,Spring Boot就是Spring,它做了那些沒有它你也會去做的Spring Bean配置。它使用“習慣優於配置”(項目中存在大量的配置,此外還內置了一個習慣性的配置,讓你無需手動進行配置)的理念讓你的項目快速運行起來。使 用Spring Boot很容易創建一個獨立運行(運行jar,內嵌Servlet容器)、準生產級別的基於Spring框架的項目,使用Spring Boot你可以不用或者只需要很少的Spring配置。

使用spring boot優缺點

 優點:配置簡單了
    1.springboot內嵌了servlet容器,降低了對環境的要求,機器有java運行環境,可以將項目打包成jar包,通過java命令 java -jar ****.jar 來執行。
    2.快速整合第三方框架,無需配置文件
    3.解決了Spring的弊端
    4.代碼少了、配置文件少了、不需要對第三方框架煩惱了、項目精簡了,對整個團隊的開發及維護來說,更大的節約了成本。
    5.使用Java或Groovy開發基於Spring的應用程序非常容易。
    6.它減少了大量的開發時間並提高了生產力。
    7.它避免了編寫大量的樣板代碼,註釋和XML配置。
    8.Spring Boot應用程序與其Spring生態系統(如Spring JDBC,Spring ORM,Spring Data,Spring Security等)集成非常容易。

    它遵循“自用默認配置”方法,以減少開發工作量。
    它提供嵌入式HTTP服務器,如Tomcat,Jetty等,以開發和測試Web應用程序非常容易。
    它提供CLI(命令行界面)工具從命令提示符,非常容易和快速地開發和測試Spring Boot(Java或Groovy)應用程序。
    它提供了許多插件來開發和測試Spring啓動應用程序非常容易使用構建工具,如Maven和Gradle。
    它提供了許多插件,以便與嵌入式和內存數據庫工作非常容易。
缺點:將現有或傳統的Spring Framework項目轉換爲Spring Boot應用程序是一個非常困難和耗時的過程。它僅適用於全新Spring項目。

不廢話了,直接步入正題。。。

maven構建項目

1、訪問:https://start.spring.io/

2、選擇構建工具Maven Project、Spring Boot版本以及一些工程基本信息,點擊“Switch to the full version.”java版本選擇1.8,可參考下圖所示:

3、點擊Generate Project下載項目壓縮包

4、解壓後,使用eclipse,Import -> Existing Maven Projects -> Next ->選擇解壓後的文件夾-> Finsh,OK done!

這裏廢話幾句,有的人導入後,pom.xml第一行會報錯,如下圖所示:

解決辦法:

(1)Help——>Install New SoftWare

(2)點擊Add,在彈出框填入相關信息

https://otto.takari.io/content/sites/m2e.extras/m2eclipse-mavenarchiver/0.17.2/N/LATEST/

(3)按照安裝提示,一直next,重啓eclipse之後,執行maven-update project

好了,如果有這個問題的朋友,這樣應該就能解決了,繼續我們的話題

項目結構介紹

 

 

 

 

 

如上圖所示,Spring Boot的基礎結構共三個文件:

  • src/main/java  程序開發以及主程序入口
  • src/main/resources 配置文件
  • src/test/java  測試程序

最後,啓動Application main方法,至此一個java項目搭建好了!

引入web模塊

1、pom.xml中添加支持web的模塊:

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

pom.xml文件中默認有兩個模塊:

spring-boot-starter:核心模塊,包括自動配置支持、日誌和YAML;

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

2、新建個存放controller包,並創建HelloWorldController類

package com.example.demo.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
//@RestController的意思就是controller裏面的方法都以json格式輸出,不用再寫什麼jackjson配置的了!
@RestController
public class HelloWorldController {
	@RequestMapping("/hello")
	public String index(){
		return "Hello World!";
	}
}

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

3、啓動主程序,打開瀏覽器訪問http://localhost:8080/hello,就可以看到效果了!

如何做單元測試

打開的src/test/下的測試入口,編寫簡單的http請求來測試;使用mockmvc進行,利用MockMvcResultHandlers.print()打印出執行結果。

package com.example.demo;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultHandlers;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;

import com.example.demo.controller.HelloWorldController;

@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {
	private MockMvc mvc;

	@Before
	public void setUp() throws Exception {
		mvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build();
	}

	@Test
	public void getHello() throws Exception {
		mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
				.andExpect(MockMvcResultMatchers.status().isOk()).andDo(MockMvcResultHandlers.print()).andReturn();
	}
}

開發環境的調試

熱啓動在正常開發項目中已經很常見了吧,雖然平時開發web項目過程中,改動項目啓重啓總是報錯;但springBoot對調試支持很好,修改之後可以實時生效,需要添加以下的配置:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
   </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
            </configuration>
        </plugin>
   </plugins>
</build>

總結

使用spring boot可以非常方便、快速搭建項目,使我們不用關心框架之間的兼容性,適用版本等各種問題,我們想使用任何東西,僅僅添加一個配置就可以,所以使用sping boot非常適合構建微服務

 

demo下載地址:http://note.youdao.com/noteshare?id=3a99a65d3825a09b7e299368c55fe6ae&sub=9E71919D3D3C4E8AB96E3A83D62BC9CE

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章