Spring Boot

本文将分别介绍 Spring Boot 技术栈原理以及项目目录结构,便于您理解并快速上手基于 Spring Boot 技术栈的研发。

技术栈原理

Spring Boot 技术栈基于开源的 Spring Boot 框架。通过使用 Spring Boot 技术栈,您可以使用 Spring Boot 框架的所有规范进行代码研发。

将使用 Spring Boot 技术栈研发的代码部署到云端服务器上时,会启动一个 Nginx 服务器以及 Spring Boot 的 JAR 包里自带的应用服务器。

对于测试环境,Nginx 服务器默认会监听 80 端口,并将请求转发到应用服务器的 8080 端口。因此技术栈在启动应用时,会将 server.port 设置为 8080,覆盖应用配置文件中的设置。对于生产环境,Nginx 服务器默认会监听 443 端口,并使用用户上传到服务器的 SSL 证书来加密通讯,消息最后仍会被路由到8080 端口。若用户未上传过 SSL 证书,部署会报错。

如果用户在应用项目目录的 resource/nginx 文件夹下有配置 nginx.conf(通用)/nginx-test.conf(仅测试环境生效)/nginx-prod.conf(仅生产环境生效)文件,则 Nginx 服务器会采用应用中 nginx 配置。

技术栈在启动应用时,会依据环境类型,将 spring.profiles.active 设置为 test(测试环境)或 prod(生产环境)。您可以创建 application-test.properties 或 application-prod.properties,两种配置只在特定环境生效的参数。

开发工具

目录结构

一个标准的 Spring Boot 的工程目录主要分为四个部分:

  • 应用代码目录 src/main/java
  • 测试代码目录 src/test/java
  • 配置文件目录 src/main/resources
  • pom.xml 文件
    在下图的示例中,应用代码目录为 src/main/java;测试代码目录为 src/test/java;配置文件目录为 src/main/resources

目录结构.png

配置文件说明

Spring Boot 技术栈使用标准的 application.properties 作为配置文件。

说明:对于 server.port 配置项,目前不支持自定义端口号,在服务器上启动应用时,系统会自动使用 8080 作为端口号启动应用服务器。

配置文件.png

原文: https://docs.alipay.com/mini/cloud-service/case9x