首頁 > 軟體

Spring Boot 實踐心得筆記

2020-06-16 17:23:33

開始前…

最近閒下來,看了些spring Boot和Docker的相關資料,說實話,Spring Boot官網的demo和文件寫得真是”簡潔”,看起好像是那麼回事,挺好懂的,但自己實踐後才知道是坑坑不少,而且boot的文件較少,相比而言,docker的文件一搜一大把,系列裡不會過多的介紹docker,主要是穿插著使用。於是,想著寫個簡單的Spring Boot學習與使用系列,以Spring Boot為切入點,總結下折騰Spring Boot和docker的結果。

Spring Boot專案的目的就是為了簡化常用的設定,提升效率,而提出的一種新的解決思路,讓笨重的Java,也可以像js和Python一樣,快速的應用部署。快速、快速、還是快速。

系列開篇,想著直接開始工程搭建上程式碼吧,怕太枯燥了,所以,寫了以上這些廢話,接下來開始,實際操作。

本系列相關DEMO下載到Linux公社資源站下載:

------------------------------------------分割線------------------------------------------

免費下載地址在 http://linux.linuxidc.com/

使用者名稱與密碼都是www.linuxidc.com

具體下載目錄在 /2017年資料/1月/15日/Spring Boot 實踐心得筆記/

下載方法見 http://www.linuxidc.com/Linux/2013-07/87684.htm

------------------------------------------分割線------------------------------------------

Spring Boot有哪些核心功能

  1. 基於Spring框架的獨立執行的專案
  2. 內嵌Servlet容器
  3. 提供starter簡化Maven設定
  4. 自動設定Spring
  5. 無xml設定和簡化程式碼設定

Spring Boot版本

1.3.5.RELEASE   

使用的是最新的穩定發布版。

IDE

IntelliJ IDEA 15.0.5

推薦使用idea,如果喜歡用eclipse的,範例並不影響,只是可能需要自行設定一些環境設定。

構建Maven專案

雖說可以使用idea建立spring boot專案,但為了方便還是使用maven來建工程。

建立父專案

為了後續多個demo演示方便,這裡建立一個多個子專案的maven父工程,並引入一次boot-starter-web,這樣後續子專案中不需要再新增boot-starter-web依賴。

//pom.xml

<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
    <module>boot-start</module>
</modules>

<properties>
    <spring.boot.version>1.3.5.RELEASE</spring.boot.version
</properties>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>${spring.boot.version}</version>
</dependency>

這裡先不新增編譯外掛,後續在不同的應用模組裡再分別新增。

建立子專案

包名:com.hjf.boot.demo.boot_start

在pom.xml中增加編譯項

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring.boot.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

Hello World

com.hjf.boot.demo.boot_start.StartApp.Class

為了自動設定的方便,按照Spring Boot約定規則,在最外層的目錄新增啟動類StartApp

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created by hjf on 2016/6/7.
 * com.hjf.boot.demo.boot_start
 */
@EnableAutoConfiguration  //1
@ComponentScan  //2
@RestController //3
public class StartApp {
    public static void main(String[] args) {
        SpringApplication.run(StartApp.class,args); //4
    }

    @RequestMapping("/hello")  //5
    public String hello(){
        return "Hello world!";
    }
}

說明:
1:開啟自動設定
2:開啟bean掃描
3:spring mvc的rest控制器方法
4:boot啟動的核心方法,使用SpringApplication物件
5:提供一個存取介面”/hello”,來展示資料。

啟動

點選Run –> Edit Configuration,編輯Spring Boot啟動引數,如下圖:

啟動應用,檢視控制台列印,預設埠是8080


存取:http://localhost:8080/hello 檢視資料

到此,本章內容結束。

小結

本章只是引入Spring Boot一個最簡單的例子,說明Spring Boot啟動的快速,不需要組態檔,不需要按安裝tomcat,只需要一個class檔案,即可啟動基於Spring MVC的應用。

更多詳情見請繼續閱讀下一頁的精彩內容http://www.linuxidc.com/Linux/2017-01/139576p2.htm


IT145.com E-mail:sddin#qq.com