Spring Initializr [http://start.spring.io/]是引导你快速构建 Spring Boot 项目的不二选择。
它允许你通过简单的操作步骤,就可以构建出一个完整的 Spring Boot 应用程序。你可以通过 Spring Initializr 引导界面构建如下类型的 Spring Boot 应用:
- Web 应用程序
- Restful 应用程序
- Batch 应用程序
Spring Boot 对很多第三方框架提供了良好的支持,可以通过对应的 artifactId 获得他们,这里列举其中的一部分供参考:
- spring-boot-starter-web-services: 用于构建可与外界交互的 SOAP Web 服务应用程序
- spring-boot-starter-web: 可用于构建 Web 应用程序或者基于 Restful 风格的应用程序
- spring-boot-starter-test: 可用于构建并编写单元测试和集成测试
- spring-boot-starter-jdbc: 构建基于 JDBC 的应用程序
- spring-boot-starter-hateoas: 通过引入 HATEOAS 功能,让你轻松实现 RESTful 服务
- spring-boot-starter-security: 使用 Spring Security 对系统用户进行身份验证和鉴权
- spring-boot-starter-data-jpa: 基于 Hibernate 实现的 Spring Data JPA
- spring-boot-starter-cache: 开启基于 Spring Framework 的缓存支持
- spring-boot-starter-data-rest: 使用 Spring Data REST 提供 REST 服务
在本讲中,我将通过使用 Spring Initializr 来演示如何快速创建一个简单的 Web 应用程序。
使用 Spring Initializr 构建 Web 应用程序
使用 Spring Initializr 构建 Web 应用程序是一件非常简单快速的事情。
如上图所示,我们需要执行如下的几个操作:
-
通过浏览器访问 Spring Initializr 官网 , 然后再执行下面的几个选择项
- 设置 groupId : com.ramostear.spring.boot
- 设置 artifactId: spring-boot-quick-start
- 项目名称:默认为spring-boot-quick-start
- 基础包名:默认即可(你也可以选择修改)(通过点击 More options 展开)
- 在搜索框中分别检索并选择如下几个组件:Web,Actuator,DevTools
- 最后,点击 “Generate Project” 生成并下载项目
- 将项目导入到 IntelleJ IDEA 中
Spring Boot 项目目录结构
下图显示了在 IDEA 中导入刚才下载的项目目录结构:
- SpringBootQuickStartApplication.java:Spring Boot 运行的主文件,它负责初始化 Spring Boot 自动配置和 Spring 应用程序上下文
- application.properties : 应用程序配置文件
- SpringBootQuickStartApplicationTests:用于单元测试的简单启动器
- pom.xml : Maven 构建项目的配置文件,包括了 Spring Boot Starter Web 等相关依赖项。特别指出,它会自动将 Spring Boot Starter Parent 作为整个工程的父依赖。
核心的代码
src/main/java 包下放置我们主要的逻辑代码,src/test/java包下放置项目的测试代码,src/main/resources包下放置项目的配置文件以及一些静态资源文件,如页 html 文件,css 文件和 js 文件等。我们从上到下依次进行介绍。
SpringBootQuickStartApplication.java
package com.ramostear.spring.boot.springbootquickstart;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringBootQuickStartApplication {public static void main(String[] args) {SpringApplication.run(SpringBootQuickStartApplication.class, args);
}
}
- @SpringBootApplication : 负责初始化 Spring Boot 自动化配置项和 Spring 应用程序上下文
- SpringApplication.run() : 负责启动 Spring Boot 应用程序的静态方法
application.properties
Spring Boot 应用程序的配置文件,这里我们简单的设置一下项目启动的端口为 8080(默认端口 8080)和应用名称为Spring Boot Quick Start:
server.port= 8080
spring.application.name= Spring Boot Quick Start
SpringBootQuickStartApplicationTests
package com.ramostear.spring.boot.springbootquickstart;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringBootQuickStartApplicationTests {
@Test
public void contextLoads() {}
}
- 集成了对 Spring Boot 应用程序进行单元测试所需要的全部环境
运行应用程序
如上如所示,点击运行按钮一键运行 Spring Boot 应用程序,成功启动后你将看到控制台中输出的如下日志信息:
"C:\Program Files\Java\jdk1.8.0_144\bin\java" ...
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
(()\___ | '_ |'_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| |) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.4.RELEASE)
...
2019-04-21 16:44:16.784 INFO 2320 --- [restartedMain] o.s.b.a.e.web.EndpointLinksResolver : Exposing 2 endpoint(s) beneath base path '/actuator'
2019-04-21 16:44:16.849 INFO 2320 --- [restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2019-04-21 16:44:16.852 INFO 2320 --- [restartedMain] .r.s.b.s.SpringBootQuickStartApplication : Started SpringBootQuickStartApplication in 3.526 seconds (JVM running for 5.448)
总结
现在,你已经掌握了如何通过 Spring Initializr 来快速构建 Spring Boot Weby9 应用程序,你可以在 Github 上获取本次内容的全部源码。
作者:谭朝红
原文:(第一讲)Spring Initializr- 快速入门 Spring Boot 的最好选择