最近閒下來,看了些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
------------------------------------------分割線------------------------------------------
1.3.5.RELEASE
使用的是最新的穩定發布版。
IntelliJ IDEA 15.0.5
推薦使用idea,如果喜歡用eclipse的,示例並不影響,只是可能需要自行配置一些環境設置。
雖說可以使用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>
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的應用。