*** 自從入了 java 這個坑就再沒寫過博客了,最近閒着蛋疼寫點最近用到的 spring-boot ***html
當前穩定版官方文檔地址:http://docs.spring.io/spring-boot/docs/1.4.0.RELEASE/reference/htmlsingle/git
一個哥們寫的完整 Demo:http://git.oschina.net/didispace/SpringBoot-Learningweb
*** Takes an opinionated view of building production-ready Spring applications. Spring Boot favors convention over configuration and is designed to get you up and running as quickly as possible. ***spring
上面是官方的簡介,大家誰懂誰看看吧,反正我是我懂,甚至是否是簡介都不知道。 在我看來,spring-boot 其實就是 spring framework 中的各類 xml 被重吐槽出來的結果。 旨在簡化 spring 配置,快速搭建 spring 項目,儘量減小環境依賴的微框架(感受一點也不微)。mvc
我偷個懶,截圖出來湊合着看吧,就是下面這張:app
這是在 spring-boot-autoconfigure-1.3.6.RELEASE.jar 實現自動配置的模塊。 幾乎包含了全部的 spring 的項目,以及經常使用的框架,工具等。框架
官網上的教程:http://projects.spring.io/spring-boot/#quick-startmaven
官網上給出了兩種教程,maven 和 gradle,我只會 maven ,簡單說說spring-boot
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.0.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
spring-boot-starter-parent 每一個 spring boot 項目都須要引入的包
spring-boot-starter-web 代表這個項目是一個 web 項目
package hello; import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.stereotype.*; import org.springframework.web.bind.annotation.*; @Controller @EnableAutoConfiguration public class SampleController { @RequestMapping("/") @ResponseBody String home() { return "Hello World!"; } public static void main(String[] args) throws Exception { SpringApplication.run(SampleController.class, args); } }
該類便是一個 spring boot 的啓動類,又是一個 spring mvc 的 controller。 重點在於 SpringApplication 類,這代表以 spring boot 的方式啓動。 而學過 spring mvc 的朋友們知道 @Controller 是什麼東東。 註解 @EnableAutoConfiguration 代表這個項目用到了 spring boot 的自動配置功能。
未完待續