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上获取本次内容的全部源码。
作者: 谭朝红
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。