spring-boot 初体验

*** 自从入了 java 这个坑就再没写过博客了,最近闲着蛋疼写点最近用到的 spring-boot ***html

资料

官方地址:http://projects.spring.io/spring-boot/java

当前稳定版官方文档地址:http://docs.spring.io/spring-boot/docs/1.4.0.RELEASE/reference/htmlsingle/git

一个哥们写的完整 Demo:http://git.oschina.net/didispace/SpringBoot-Learningweb


简介

*** 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

上面是官方的简介,大家谁懂谁看看吧,反正我是我懂,甚至是否是简介都不知道。 在我看来,spring-boot 其实就是 spring framework 中的各类 xml 被重吐槽出来的结果。 旨在简化 spring 配置,快速搭建 spring 项目,尽量减小环境依赖的微框架(感受一点也不微)。mvc

主要模块

我偷个懒,截图出来凑合着看吧,就是下面这张:app

spring-boot 的主要模块 spring-boot 的主要模块

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

Get Start

官网上的教程:http://projects.spring.io/spring-boot/#quick-startmaven

官网上给出了两种教程,maven 和 gradle,我只会 maven ,简单说说spring-boot

  • ** 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 的自动配置功能。


未完待续

相关文章
相关标签/搜索