spring-boot 初体验

*** 自从入了 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 的主要模块 spring-boot 的主要模块

这是在 spring-boot-autoconfigure-1.3.6.RELEASE.jar 实现自动配置的模块。 几乎包含了所有的 spring 的项目,以及常用的框架,工具等。

Get Start

官网上的教程:http://projects.spring.io/spring-boot/#quick-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 的自动配置功能。


未完待续

猜你喜欢

转载自my.oschina.net/u/991553/blog/723855