Spring Boot介绍[引自Spring Boot Reference Guide]

Spring Boot使开发独立的,产品级别的基于Spring的应用变得非常简单,你只需”just run”。 我们为Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不紊地开始。多数Spring Boot应用需要很少的Spring配置。

你可以使用Spring Boot创建Java应用,并使用java -jar启动它或采用传统的war部署方式。我们也提供了一个运行”spring脚本”的命令行工具。

我们主要的目标是:

1.为所有的Spring开发提供一个从根本上更快的和广泛使用的入门经验。
2.开箱即用,但你可以通过不采用默认设置来摆脱这种方式。
3.提供一系列大型项目常用的非功能性特征(比如,内嵌服务器,安全,指标,健康检测,外部化配置)。
4.绝对不需要代码生成及XML配置。

构建

一、配置Gradle

参照Gradle构建spring-boot 1.3.0 项目 基础配置

二、在项目下新建一个含main(String[] args)的class

1.类名上加入@SpringBootApplication 注解
2.为了使其能够接受http请求加入@RestController注解
3.写一个方法加入@@RequestMapping(URL_MAPPING)处理请求路由
4.在main函数创建SpringApplication实例,调用其run(String[] args)方法
5.Run
NOTE:由于spring-boot内嵌了tomcat,所以无需web容器也可以启动web application

@SpringBootApplication
@RestController
public class SpringBootTryApplication {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication app=new SpringApplication(SpringBootTryApplication.class);
app.run(args);
}
}

几个重要注解

@RestController。这被称为一个构造型(stereotype)注解。它为阅读代码的人们提供建议。对于Spring,该类扮演了一个特殊角色。在本示例中,我们的类是一个web @Controller,所以当处理进来的web请求时,Spring会询问它。

@RequestMapping注解提供路由信息。它告诉Spring任何来自”/“路径的HTTP请求都应该被映射到home方法。@RestController注解告诉Spring以字符串的形式渲染结果,并直接返回给调用者。

Note:@RestController和@RequestMapping注解是Spring MVC注解(它们不是Spring Boot的特定部分)。具体查看Spring参考文档的MVC章节。

@EnableAutoConfiguration 这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。

@ConfigurationSpring Boot提倡基于Java的配置。尽管你可以使用一个XML源来调用SpringApplication.run(),我们通常建议你使用@Configuration类作为主要源。一般定义main方法的类也是主要@Configuration的一个很好候选。

Note:很多使用XML配置的Spring配置示例已经被发布到网络上。你应该总是尽可能的使用基于Java的配置。搜索查看enable*注解就是一个好的开端。

@SpringBootApplication很多Spring Boot开发者总是使用@Configuration,@EnableAutoConfiguration和@ComponentScan注解他们的main类。由于这些注解被如此频繁地一块使用(特别是你遵循以上最佳实践时),Spring Boot提供一个方便的@SpringBootApplication选择。
该@SpringBootApplication注解等价于以默认属性使用@Configuration,@EnableAutoConfiguration和@ComponentScan。