Spring Boot框架出现的主要目的是为了快速搭建Spring项目,减少一些“约定俗成”的配置,减少开发者的工作。按照官方的说法,Spring Boot的首要目标是:
1. 为所有Spring开发者提供一个更快速、更广泛的入门体验
2. 被要求开箱即用,但是随着开发的进展而脱离出来
3. 提供大量项目中常见的一系列非功能特征(例如,
嵌入式服务器,安全性,指标,运行状况检查,外部化配置)。
4. 完全不需要代码生成,也不需要配置XML文件
对于第三个特征,能力所限,还不是太理解。但是单从自己的使用体验来看,SpringBoot可以把Spring开发者从繁琐的配置文件中解放出来,体验极佳!
使用Srping Boot开发Web
用过Spring的都知道,搭建框架的第一步应该是—-导入jar包。= =||
1. maven配置
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>myproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 从SpringBoot中继承默认的配置,默认使用jdk1.8 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
</parent>
<!-- 添加web程序所需要的依赖 -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- Package as an executable jar -->
<!-- 这个是由Spring Boot提供的jar打包插件,此插件生成的jar包结构和原始的不同-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
上面Maven的配置中只出现了一个依赖项,spring-boot-starter-web,作为web程序,只使用这样的一个jar包就可以了!对比其他框架是不是十分的简单快捷!这是在你继承了spring-boot-starter-parent依赖的情况下才可以正确工作的。
SpringBoot的便捷性一大部分是由一系列的“Starter”提供的。可以理解为Starter就是一个“启动器”,它快速地帮你把web开发所需要的包都导入进项目中,而不需要你一个一个配置Maven的依赖。
spring-boot-starter-web这个starter中就包含了SpringMVC的jar包。而spring-boot-starter-parent则是一个特殊的启动器,它包含了很多有用的mavne依赖。它还提供了所谓的依赖管理“dependency-management”选项,所以你可以忽略那些你当心出错的版本了。其他类型的Starter则提供了特定应用开发所需要的jar包集合,按你所需导入就好了。
2. 开始开发
对没有错,开始写代码,配置什么的丢到一边吧!!!
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;
@RestController
@EnableAutoConfiguration
public class Example {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(Example.class, args);
}
}
上面代码中的@RestController相当于@ResponseBody和@Controller的集合。
@EnableAutoConfiguration会根据你所加入的jar包去“猜测”你要怎么样配置Spring。因为spring-boot-starter-web导入了Tomcat和Spring MVC,这个注解推测出是web项目,然后就会配置好web开发时Spring需要的配置。
实际上AutoConfiguration是被设计和Starter配合工作的,但是没有很紧密的绑定在一起。我们依然可以在Starter以外添加jar包,而AutoConfiguration仍然可以帮我们自动配置好Spring.
3. Spring boot是通过main函数启动的,然后就可以在浏览器中输入localhost:8080访问!(^o^)/~。
4. 也可以访问Spring Boot官网提供的模板体验一下Spring Boot飞一样的感觉吧