Spring Boot 说明手册
马上开始
如果你是使用Spring Boot或者使用Spring开始,那这章就属于你的!在这里我们会回答你最基本的问题“what”、“how”、和“why”的问题。我们会第一步构建Spring Boot项目并讨论一些核心的原则,让我们开始吧。
Spring Boot是什么
Spring Boot帮我们创建卓越的、生产级别的Spring应用更容易。仅仅需要很少的Spring的配置就可以了。
通过使用命令java -jar
启动Java应用和传统的war应用。
主要特点:
- 提供完全快速和容易上手的启动方式给全部开发者
- 完全没有生产代码和XML的配置文件
- 提供更强大的功能(内含服务、安全、监控、配置模块)
系统需求
按现在的版本,Spring Boot 1.5.8发布版 需要Java7和Spring框架 4.3.12或以上。
安装Spring Boot
省略。。。
开发第一个Spring Boot 项目
本人使用IntelliJ IDEA,创建Maven项目。
1.创建POM
<?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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.8.RELEASE</version>
</parent>
<!-- Additional lines to be added here... -->
</project>
完成后会自动构建
2.添加依赖路径
因为在上面的POM里使用<parent>
中的spring-boot-starter-parent
。那么这个spring-boot-starter-parent
是一个规定启动时Maven默认先加载的,在dependency-management
中可以省略version
这个标签。
现在要创建web项目,那么在父标签(parent)下添加
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
3.码代码
完成到这里,应用需要创建一个单独的Java文件。Maven会默认编译在src/main/java
路径的源码。所以我们在该路径下创建文件名src/main/java/Example.java
:
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);
}
}
这里的代码没有很多,并快速的运行了。
3.1@RestController and @RequestMapping 注解的含义
在我们的Example
的类中第一个注解是@RestController。这意识到是模块化的注解。暗示开发者阅读这行代码,是明确规则的开始。在这个例子中,我们的类是web的@Controller
,所以Spring收到web请求进来的时候就会开始执行。
@RequestMapping告诉Spring把全部HTTP请求路径“/”映射到home方法里。并返回一个字符串到访问者。
@RestController and @RequestMapping注解是Spring MVC注解并不是Spring Boot的
3.2@ EnableAutoConfiguration注解的含义
当你想配置Spring的时候,最基本的就是添加依赖。自从spring-boot-starter-web
把Tomcat和Spring MVC自动添加后,web应用就会自动配置,不用手动了。
3.3 main
方法
完成通过这个应用是在main方法里。在main方法里有Spring Boot SpringApplication
类被调用。SpringApplication
在Tomcat服务器自动加载配置启动Spring的。我们需要通过Example.class
运行时SpringApplication
是主要的Spring组件。这个args
数组是通过命令行里传入参数的。
4运行example
在IntelliJ IDEA的main方法行号边上有个绿色的三角形,点击运行。控制台运行结果如下:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.8.RELEASE)
....... . . .
....... . . . (log output here)
....... . . .
........ Started Example in 2.222 seconds (JVM running for 6.514)
然后我们通过浏览器localhost:8080本地地址访问。界面如下:
Hello World!
5创建一个可执行的 jar
创建可执行的jar文件我们需要添加spring-boot-maven-plugin
到我们的pom.xml。添加到在dependencies
标签下:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
下一步就是:
保持pom.xml并运行在命令行上mvn package
$ mvn package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building myproject 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] .... ..
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ myproject ---
[INFO] Building jar: /Users/developer/example/spring-boot-example/target/myproject-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:1.5.8.RELEASE:repackage (default) @ myproject ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
在项目的target文件夹看见jar文件了。
Spring Boot怎样用
构建系统
1.依赖管理
使用Maven为前提: