1. 程式人生 > >Spring Boot 實踐折騰記(一):快速,Hello World例子

Spring Boot 實踐折騰記(一):快速,Hello World例子

規劃人生旅程是你自己責無旁貸的責任,沒有其他人可以替你規劃。即便是你的老闆,也沒有這個義務。要實現自我發展,必須同時做好兩件事:精益求精和嘗試新鮮。——《非營利性組織的管理》

開始前…

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

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

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

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

這裡寫圖片描述
這裡寫圖片描述

小結

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

page 159 of 366 in chapter 2016