• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Spring Boot(一)——入門環境搭建

    標簽: Spring  Spring Boot


    Spring Boot簡介

    Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力于在蓬勃發展的快速應用開發領域(rapid application development)成為領導者。

    Spring Boot優點

    簡單、快速、方便,相比之前搭建Spring Web項目,我們需要配置各式各樣的文件,有些甚至不需要。而現在隨著業務規模擴大,部分功能需要單獨分離出來,如果我這個項目僅僅只是需要每天推送一條新聞,如果我的項目僅僅是提供用戶登錄;我都需要這樣折騰一遍!
    但是如果使用Spring Boot呢?很簡單,我僅僅只需要非常少的幾個配置就可以迅速方便的搭建起來一套web項目或者是構建一個業務單一的服務!

    Spring Boot搭建

    1、訪問http://start.spring.io/,填寫相應的信息,點擊Switch to the full version,可以選填更多。如下圖:

     

    2、點擊Generate Project下載項目壓縮包,然后使用開發工具導入,這里使用的是IDEA,導入后的項目結構如下圖:

     

    也可通過開發工具自動下載,如IDEA的步驟:File-->New-->Porject。如下圖:


    選擇next,接下來的步驟就是設置項目名,路徑,jdk和其他依賴組件之類的。選擇dependencies時可以跳過,這里相當于在之后pom.xml里添加依賴包。

    Spring Boot的基礎結構共三個文件:

    1.src/main/java  程序開發以及主程序入口

    2.src/main/resources 配置文件

    3.src/test/java  測試程序

    養成良好的編碼規范,建議的目錄結果如下:com.example.myproject,所以本文的目錄結構為:com.lyh.demo,其中具體可以細分:

    1.Application.java 建議放到跟目錄下面,主要用于做一些框架配置

    2.domain目錄主要用于實體(Entity)與數據訪問層(Repository)

    3.service 層主要是業務類代碼

    4.controller 負責頁面訪問控制

    3、這里采用默認的配置就好,運行DemoApplication后console輸出結果如下:

     

    4、這里只是測試下項目環境,畢竟我們是要弄WEB項目,接下來我們要在pom.xml添加Web模塊

    <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
           如下圖:

     

    5、我們添加一個controller類,先在項目目錄下添加一個controller包,然后新建一個HelloWorldController類:

    package com.lyh.demo.controller;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    //@RestController的意思就是controller里面的方法都以json格式輸出,不用再寫什么jackjson配置的了!
    public class HelloWorldController {
        @RequestMapping("/helloWorld")
        public String helloWorld(){
            return "HelloWorld";
        }
    }

    6、然后運行項目的主程序DemoApplication,看到console出現的日志:
    7、可以看到項目使用的是Tomcat,占用端口為8080,所以我們在瀏覽器訪問:http://localhost:8080/helloWorld

     

    單元測試

           我們除了用瀏覽器測試還可以用mockmvc進行單元測試(什么是mockmvc?)
    1、進入src/test/下的測試入口,使用mockmvc編寫簡單的http請求來測試,MockMvcResultHandlers.print()打印出執行結果,如下:

    package com.lyh.demo;
    
    import com.lyh.demo.controller.HelloWorldController;
    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;
    
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class DemoApplicationTests {
       private MockMvc mvc;
       
       @Before
       public void set() throws Exception {
          mvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build();
       }
       
       @Test
       public void contextLoads() throws Exception {
          mvc.perform(MockMvcRequestBuilders.get("/helloWorld").accept(MediaType.APPLICATION_JSON))
                .andExpect(MockMvcResultMatchers.status().isOk())
                .andDo(MockMvcResultHandlers.print())
                .andReturn();
       }
    }

    2、運行DemoApplicationTests,通過console可以看到相應的信息,如通過時間為215ms,返回狀態碼,header等信息。如下圖:

     

    熱部署

    調試過程中我們需要不斷的調試代碼,如果修改代碼一旦需要手動重啟服務是非常麻煩的事情。Spring Boot非常貼心的給出了熱部署的支持,在pom.xml中添加:

    <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 Web環境是不是非常快,不需要擔心兼容性,版本問題,我們想要什么在配置文件添加個依賴就行。
    GitHub地址:https://github.com/lyhkmm/spring-boot-examples/tree/master/spring-boot-demo
        


    版權聲明:本文為lyhkmm原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/lyhkmm/article/details/78260983

    智能推薦

    搭建react入門環境

    之前自己開始學的時候也在網上找過很多入門教程,然后亂七八糟的安裝的好多,最后還是沒有學會如何去搭,最后的最后,選擇了react的菜鳥教程,然后按照步驟一步一步來,首先裝node.js,可以先去官網下載一個最新的安裝包,然后開始安裝。 1,雙擊安裝包 2,點擊NEXT(下一步) 3,勾選協議,點擊next(下一步) 4,選擇安裝路徑,點擊點擊next(下一步) 5,點擊樹形圖標來選擇你需要的安裝模式...

    Vue 入門環境搭建

    第一步:安裝node.js 下載鏈接 node簡介 Node.js是一個Javascript運行環境。實際上它是對Chrome V8引擎進行了封裝。Node 是一個服務器端 JavaScript 解釋器,他會改變服務器應該如何工作的概念。它的目標是幫助程序員構建高度可伸縮的應用程序,編寫能夠處理數萬條同時連接到一個物理機的連接代碼。那直白的說,Node.js就是服務器程序,是用來做后端的技術,不能...

    第一章:tornado入門環境搭建

    一、準備及安裝工具 1、pycharm 2017以下簡稱pycharm 2、虛擬機或者自己有服務器 3、安裝ubuntu 16.04系統以下簡稱ubuntu 4、Xshell 5遠程連接工具以下簡稱Xshell 二、ubuntu中環境的基本配置 1、創建一個虛擬環境用來跑我們開發的tornado項目 2、查看自己服務上已經創建好的虛擬環境的命令workon 3、進入一個虛擬環境的命令workon ...

    spring data rest 入門(一)環境搭建

    一、數據庫 localhost下創建一個數據庫,里面有一張表為user表,id為自增。 二、環境搭建 目錄結構為:   user類:注意引入的類,不是這個org.springframework.data.annotation.Id,是javax下的。    接口:UserRepository 啟動類: application.yml文件,用于指向實際使用的配置文件 a...

    spring入門(一)之環境搭建

    使用步驟 1. 導包 4核心包+1日志包 2.寫User類 3. 寫配置文件src/applicationContext.xml 4.導入xml約束 1. 2.需要復制一些文字 3. 4.先無腦添加xsi,然后選擇edit,選擇剛加入的spring約束。 5.編寫測試類...

    猜你喜歡

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    精品国产乱码久久久久久蜜桃不卡