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飞一样的感觉吧