spring boot 是 spring 产品中一个新的子项目,致力于简便快捷地搭建基于 spring 的独立可运行的应用。大多数的 spring boot 应用只需要非常少的 spring 配置。
你能够使用 spring boot 创建 java 应用并通过 <code>java -jar</code> 来运行或者创建传统的通过 war 来部署的应用。spring boot 也提供了一个命令行工具来运行 spring 脚本。
spring boot 的目标是:
快速开发基于 spring 的应用
开箱即用的微服务
提供一些大型项目常用的非功能性特性,例如:嵌入式服务、安全、监控、健康检查、外部配置
不用生成代码,没有 xml 配置
spring boot 的最新发布版本为 <code>1.3.2.release</code>,其需要 java 7 和 spring 4.1.3 或以上版本才能运行。当然,你也可以添加一些配置使其能够使用 java 6。虽然,你可以使用 java 6 或7 来运行 spring boot,但是,在可能的情况下,更建议你使用 java 8。编译 spring boot 需要 maven 3.2+ 或者 gradle 1.12+。
servlet 容易要求:
name
servlet version
java version
tomcat 8
3.1
java 7+
tomcat 7
3.0
java 6+
jetty 9
jetty 8
undertow 1.1
你也可以在兼容 <code>servlet 3.0+</code> 的容器中部署 spring boot 应用。
首先,需要安装 java 并确认版本是否满足要求。
spring boot 可以使用 maven3.2 以上版本进行编译。使用压缩包解压安装 maven 或者通过命令安装,例如,在 mac 上安装:
要创建一个 spring boot 的项目,你需要创建一个 maven 的 pom 文件并继承 <code>spring-boot-starter-parent</code> 项目,然后添加一些 spring boot 子项目的依赖,你也可以使用 <code>spring-boot-maven-plugin</code> 插件来创建可执行的 jar 包。
使用maven创建一个工程:
删除掉创建的app类和单元测试。
然后修改 pom.xml 为如下:
如果你不想继承 spring-boot-starter-parent 父项目,你也可以使用依赖管理来引入对 spring boot 的依赖。
还可以通过下面方式修改 maven 使用的 java 版本:
编译代码:
spring boot兼容gradle 1.12或更高版本。如果没有安装gradle,你可以参考 [www.gradle.org] 上的指南。
在上面通过maven创建的目录spring-boot-example中,新建一个 <code>build.gradle</code> 文件如下:
你可以手动安装:[https://github.com/spring-projects/spring-boot/releases]
或者使用 gvm 安装:
spring 命令用法:
使用 你可以很快创建一个简单的 web 应用来测试是否安装成功。创建 hello.groovy 文件,内容如下:
然后,运行下面命令:
你还可以传递一些命令行的参数,使用 <code>--</code> 分隔命令行参数,下面命令修改服务启动端口为 9000:
设置 jvm 参数之后,在运行:
如果你使用 maven 编译项目,则你可以通过下面命令查看项目依赖:
在src/main/java/com/javachen/example下面添加example类:
说明:
@enableautoconfiguration。这个注解告诉spring boot根据添加的jar依赖猜测你想如何配置spring。由于spring-boot-starter-web添加了tomcat和spring mvc,所以auto-configuration将假定你正在开发一个web应用并相应地对spring进行设置。
main方法通过调用run,将业务委托给了spring boot的springapplication类。springapplication将引导我们的应用,启动spring,相应地启动被自动配置的tomcat web服务器。
如果你的 pom.xml 使用了 spring-boot-starter-parent,则我们可以运行 <code>mvn spring-boot:run</code> 命令启动应用:
然后,使用浏览器打开 http://localhost:8080/ 你会看到下面的输出:
点击ctrl-c,可以关闭应用程序。
添加<code>-ddebug</code>参数可以查看加载了哪些配置类:
加载了太多的配置类,会影响程序性能,故可以自定义导入需要的配置类:
如果你的 pom.xml 中添加了 <code>spring-boot-maven-plugin</code> 插件,你可以运行 <code>mvn package</code> 命令在 target 目录生成一个可执行的 jar 文件:
然后,你可以运行项目命令执行生成的 jar 文件:
如果 maven 运行过程出现内存溢出,则可以添加下面参数:
如果你使用 gradle 编译项目,则可以在项目根路径直接运行下面命令来运行应用:
然后,通过浏览器访问 http://localhost:8080/ 。
也可以先 build 生成一个 jar 文件,然后执行该 jar 文件:
你也可以启动远程调试: