*** 自从入了 java 这个坑就再没写过博客了,最近闲着蛋疼写点最近用到的 spring-boot ***
资料
官方地址:http://projects.spring.io/spring-boot/
当前稳定版官方文档地址:http://docs.spring.io/spring-boot/docs/1.4.0.RELEASE/reference/htmlsingle/
一个哥们写的完整 Demo:http://git.oschina.net/didispace/SpringBoot-Learning
简介
*** 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-boot 其实就是 spring framework 中的各种 xml 被重吐槽出来的结果。 旨在简化 spring 配置,快速搭建 spring 项目,尽可能减少环境依赖的微框架(感觉一点也不微)。
主要模块
我偷个懒,截图出来凑合着看吧,就是下面这张:
这是在 spring-boot-autoconfigure-1.3.6.RELEASE.jar 实现自动配置的模块。 几乎包含了所有的 spring 的项目,以及常用的框架,工具等。
Get Start
官网上给出了两种教程,maven 和 gradle,我只会 maven ,简单说说
- ** mave 配置,只需要两个 jar **
<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 项目
- ** 写一个带有 main 方法的程序入口类 SampleController.java **
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 的自动配置功能。
未完待续