乐趣区

(第一讲)Spring Initializr-快速入门Spring Boot的最好选择

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 的最好选择

退出移动版