*** 自从入了 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 的自动配置功能。
未完待续