Spring Boot - 简介:
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.io
Spring Boot - 核心特性:
- Spring Boot Starter:将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的依赖中。
- 自动配置:Spring Boot的自动配置特性利用了Spring 4对条件化配置的支持,合理的推测应用所需要的Bean并自动化配置它们。
- **命令行接口(CLI)**:Spring Boot CLI 发挥了Groovy的优势,并结合自动配置进一步简化Spring应用程序的开发。
- Actuator:Actuator为Spring Boot应用添加了一定的管理特性。
Spring Boot - QuickStart:
使用Spring Initalizr构建Spring Boot项目:
要想使用Spring Initalizr,最简单直接的办法就是打开 http://start.spring.io,使用Spring Initalizr的web界面来构建Spring Boot项目。打开Spring Initalizr的web界面后,根据自己需求选择合适的选项:
示例代码:
Generate a Maven Project
with Java
and Spring Boot 1.5.6
1 | Group: ws.object.springboot |
如果在当前页面找不到你所需要的依赖,请点击 Switch to the full version
,打开后就能看到可用依赖的完整列表。
填写完成之后,点击Generate Project
,Spring Initalizr就会为你生成一个名为SpringBoot.zip
的文件,解压后项目结构如下:
1 | ➜ unzip SpringBoot.zip |
如你所见,项目中基本没有代码,除了几个空目录之外,还包含了以下几样东西:
- pom.xml : Maven工程的主要配置文件。
- Application.java : 一个带有main()方法的类,用于引导启动应用程序。
- ApplicationTests.java :一个空的JUnit测试类,它加载了Spring Boot自动配置的Spring应用上下文。
- application.properties :一个空的properties配置文件,可以根据需要添加配置属性。
- static目录 : 放置Web应用程序的静态内容(js,css,images…)。
- templates目录 : 放置用于呈现模型数据的模板文件。
- mvnw和mvnw.cmd文件:分别是Windows系统和类Unix系统下Maven的配置文件。
参考资料:**Stack Overflow **- What is the purpose of mvnw and mvnw.cmd files?
使用IntelliJ IDEA构建Spring Boot项目:
打开 IntelliJ IDEA,到Welcome to IntelliJ IDEA
界面,选择 Create New Project
,左侧列表栏找到Spring Initalizr
,选择自己需要的Project SDk
,还有Initalizr Service URL
,Next,填写相关信息:
名称 | 说明 | 示例 |
---|---|---|
Group | Maven工程组的标识 | ws.object.springboot |
Artifact | Maven工程的标识与项目名称一致 | SpringBoot |
Type | 项目的构建方式 | Maven Project |
Packaging | 打包方式 | Jar |
Java Version | Java的版本信息 | 1.8 |
Language | 编程语言 | Java |
Version | 项目版本号 | 0.0.1-SNAPSHOT |
Name | 项目名称 | SpringBoot |
Description | 项目简介 | …… |
当前页填写完成之后,点击Next
,选择项目所需要的依赖,选择完成之后,进入到下一页选择项目的存放路径等信息,然后项目就构建完成了。
使用Spring Boot CLI构建Spring Boot项目:
Spring Boot CLI中有一些命令,可以帮我们快速构建Spring Boot项目,示例代码:
1 | ➜ mkdir SpringBoot && cd SpringBoot |
解压完成之后,使用Tree
命令查看一下目录结构:
1 | ➜ SpringBoot tree ../SpringBoot |
然后将构建好的项目导入到 IDEA或者 Eclipse中就好了。
Spring Boot - CLI:
使用Homebrew安装Spring Boot CLI:
示例代码:
1 | ➜ ~ brew --version # 查看Homebrew版本信息 |
pivotal/tap:Prvotal是Spring以及Spring Boot背后的公司,通过它的tap可以安装Spring Boot。tap是向Homebrew添加额外仓库的一种途径。
Spring Boot CLI:
1 | spring init |
这条命令会下载一个demo.zip
文件,与之前使用spring init
构建的项目一样的结构。
1 | spring init -dweb,jpa,security # 使用-d或--dependencies来指定依赖 |
与spring init
命令一样,但是在pom.xml
中添加了Spring Boot的Web,JPA,Security起步依赖。
1 | spring init -dweb,jpa,security --build gradle # --build 指定项目使用Grandle构建 |
使用Gradle来构建项目,默认情况下是使用Maven来构建的。
1 | spring init -dweb,jpa,security --build gradle -p war # -p或者-packaging |
默认情况下,无论是Maven或Gradle构建项目成功之后都会产生一个可执行的JAR文件,如果你需要一个war文件,可以通过-p
参数来指定。
1 | spring init -dweb,jpa,security --build gradle ~/Project/SpringBoot |
这里的最后一个参数可以指定你的demo.zip文件的解压目录。如果你希望CLI生成的项目解压到当前目录,可以使用 —extract
或者-x
参数。
1 | spring help |
也可以使用 spring help
来查看其他命令,并了解如何使用。
Spring Boot Maven Plugin:
在pom.xml中配置插件:
示例代码:
1 | <build> |
插件的指令详解:
1 | ➜ mvn spring-boot:help |
显示spring-boot-maven-plugin的帮助信息。
调用mvn spring-boot:help -Ddetail = true -Dgoal = <goal-name>
显示参数细节。
1 | ➜ mvn spring-boot:build-info |
根据当前的内容生成一个build-info.properties文件,在你的Maven Project中。
1 | ➜ mvn spring-boot:repackage |
重新包装现有的JAR和WAR存档,以便可以从中执行命令行使用java -jar。使用layout = NONE也可以简单地使用使用嵌套依赖关系打包一个JAR(没有主类,因此不可执行)。
1 | ➜ mvn spring-boot:run |
运行基于Maven构建的Spring Boot应用程序。
1 | ➜ mvn spring-boot:start |
启动Spring Boot应用程序。通常使用这个命令在应用程序在测试之前启动的集成测试场景中。
1 | ➜ mvn spring-boot:stop |
停止由“start”目标开始的应用程序。通常测试套件完成后调用。