搜尋
首頁JavaJava基礎如何理解springboot框架

Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始建造以及開發過程。該框架使用了特定的方式來進行配置,使開發人員不再需要定義樣板化的配置。

如何理解springboot框架

本教學操作環境:windows7系統、java10版、DELL G3電腦。

1.起源

Spring Boot 是由 Pivotal 團隊提供的全新框架,其設計目的是用來簡化新 Spring 應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,使開發人員不再需要定義樣板化的配置。用我的話來理解,就是 Spring Boot 其實不是什麼新的框架,它預設配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。

2.解決問題

更快速更方便搭建服務,大幅節省工作量,如下:

  • 1)設定web.xml,加載Spring 和Spring mvc

  • 2)設定資料庫連線、設定Spring 交易

  • 3)設定載入設定檔的讀取,開啟註解

  • 4)設定日誌檔案

  • ...

  • 設定完成之後部署Tomcat 除錯哪怕是一個小的功能可能都需要,這樣操作一遍,實在麻煩! ! !

  • springboot的引入將讓它成為過去式

#3.springBoot入門

構建方式比較多,以Idea建立專案介紹

  • 1、選擇File -> New —> Project... 彈出新專案的方塊

  • 2、選擇Spring Initializr,Next 也會出現上述類似的設定介面,Idea 幫我們做了整合

  • 3、填寫相關內容後,點選Next 選擇依賴的套件再點選Next,最後確定訊息無誤點擊Finish。

專案結構介紹

如何理解springboot框架

採用預設配置可以省去很多配置,當然也可以根據自己的喜歡來進行更改

最後,啟動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內容

@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()列印出執行結果。

@RunWith(SpringRunner.class)
   @SpringBootTest
public class HelloWorldControlerTests {
    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 專案過程中,改動專案啟動重新啟動總是報錯;但Spring Boot 對調試支援很好,修改之後可以即時生效,需要添加以下的配置:

<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>

該模組在完整的打包環境下運行的時候會被禁用。如果你使用java -jar啟動應用或用一個特定的classloader啟動,它會認為這是一個「生產環境」。

總結

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

相關影片教學推薦:Java影片教學

#

以上是如何理解springboot框架的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。