Spring Boot Introduction

1.Spring Boot介绍

Spring Boot使开发独立的,产品级别的基于Spring的应用变得非常简单,你只需”just run”。
我们为Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不紊地开始。多数
Spring Boot应用需要很少的Spring配置。
你可以使用Spring Boot创建Java应用,并使用 java -jar 启动它或采用传统的war部署方式。
我们也提供了一个运行”spring脚本”的命令行工具。
我们主要的目标是:

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

2.环境准备

  • jdk1.7+
  • Gradle2.8
  • IntelliJ 15

3.第一个项目

打开IntelliJ,New Project,选择Gradle项目(Java)。填写项目信息:
GroupId com.cjoop
ArtifactId spring-boot-simple
version 1.0-SNAPSHOT
选择项目保存的路径,Finish。项目下面产生2个文件settings.gradle和build.gradle。src目录是一个标准的maven工程目录。
修改build.gradle文件内容,这里我使用的是1.3.5.RELEASE版本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
group 'com.cjoop'
version '1.0-SNAPSHOT'

buildscript {
ext {
springBootVersion = '1.3.5.RELEASE'
}
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}

apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'spring-boot'

sourceCompatibility = 1.6
targetCompatibility = 1.6

repositories {
mavenLocal()
mavenCentral()
}

dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
testCompile("org.springframework.boot:spring-boot-starter-test")
}

创建控制类SimpleController:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package com.cjoop.com.cjoop.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
* Created by chenjun on 2016-08-15.
*/
@Controller
public class SimpleController {

@RequestMapping("/")
@ResponseBody
public String home(){
return "Hello World!";
}
}

创建启动类Application:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package com.cjoop;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
* Created by chenjun on 2016-08-15.
*/
@SpringBootApplication
public class Application {

public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}

运行Application,控制台输入以下信息(最后几行):

1
2
3
4
5
INFO 9140 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
INFO 9140 --- [ main] com.cjoop.Application : Started Application in 8.073 seconds (JVM running for 9.472)
INFO 9140 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring FrameworkServlet 'dispatcherServlet'
INFO 9140 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization started
INFO 9140 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization completed in 36 ms

访问http://localhost:8080 可以看到Hello World!内容。从开始到最后我们都没有进行配置文件的编写,可见SpringBoot给我们简化了很多工作。
配置好了spring-boot-gradle-plugin插件后,执行gradle build命令,你会发现build/libs下面生成了一个可执行的spring-boot-simple-1.0-SNAPSHOT.jar文件,通过命令就可以在运行该文件:

1
java -jar build/libs/spring-boot-simple-1.0-SNAPSHOT.jar

你还可以通过gradle bootRun运行项目。