Skip to content

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

快速部署 Spring Boot 应用

一个完整的 Spring Boot 应用模板,支持快速部署到 CloudBase 平台。

🚀 快速开始

前置条件

  • Java 8 或更高版本
  • Maven 3.6+ 构建工具
  • 腾讯云账号并开通了 CloudBase 服务
  • 基本的 Java 和 Spring Boot 开发知识

创建应用

📋 详细指南:完整的项目创建步骤请参考 Spring Boot 项目创建指南

# 快速创建(基础步骤)
mvn archetype:generate -DgroupId=com.tencent.cloudrun \
  -DartifactId=cloudrun-springboot \
  -DarchetypeArtifactId=maven-archetype-quickstart \
  -DinteractiveMode=false
cd cloudrun-springboot

本地测试

# 编译项目
mvn clean compile

# 启动开发服务器
mvn spring-boot:run

# 访问应用
open http://localhost:8080

📦 项目结构

cloudrun-springboot/
├── src/
│   └── main/
│       ├── java/
│       │   └── com/tencent/cloudrun/
│       │       ├── CloudrunApplication.java    # 主应用类
│       │       ├── controller/                 # 控制器层
│       │       │   ├── HealthController.java
│       │       │   └── UserController.java
│       │       ├── entity/                     # 实体类
│       │       │   └── User.java
│       │       └── dto/                        # 数据传输对象
│       │           └── ApiResponse.java
│       └── resources/
│           └── application.properties          # 应用配置
├── target/                                     # 编译输出目录
├── pom.xml                                     # Maven 配置文件
├── scf_bootstrap                              # HTTP 云函数启动脚本
├── Dockerfile                                 # 云托管容器配置
└── settings.xml                               # Maven 设置文件

🎯 部署方式

部署方式对比

特性 HTTP 云函数 云托管
计费方式 按请求次数和执行时间 按资源使用量(CPU/内存)
启动方式 冷启动,按需启动 持续运行
适用场景 API 服务、轻量级应用 企业级应用、复杂 Web 应用
端口要求 固定 9000 端口 可自定义端口(默认 8080)
扩缩容 自动按请求扩缩 支持自动扩缩容配置
Java 环境 预配置 Java 运行时 完全自定义 Java 环境

选择部署方式

  • 选择 HTTP 云函数:轻量级 API 服务、间歇性访问、成本敏感
  • 选择云托管:企业级应用、复杂 Web 应用、需要更多控制权

📚 详细部署指南

🔥 HTTP 云函数部署

适合轻量级应用和 API 服务,按请求计费,冷启动快。

快速部署步骤:

  1. 编译打包 JAR 文件
  2. 创建 scf_bootstrap 启动脚本
  3. 通过 CloudBase 控制台上传部署

📖 查看详细的 HTTP 云函数部署指南

🐳 云托管部署

适合企业级应用,支持更复杂的部署需求,容器化部署。

快速部署步骤:

  1. 创建 Dockerfile 容器配置
  2. 配置 .dockerignore 文件
  3. 通过 CloudBase 控制台或 CLI 部署

📖 查看详细的云托管部署指南

🔧 API 接口

本模板包含以下 RESTful API 接口:

基础接口

GET /                        # 欢迎页面
GET /health                  # 健康检查

用户管理

GET /api/users               # 获取用户列表(支持分页)
GET /api/users/{id}          # 获取单个用户
POST /api/users              # 创建用户

示例请求

# 健康检查
curl https://your-app-url/health

# 获取用户列表(分页)
curl "https://your-app-url/api/users?page=1&limit=5"

# 创建新用户
curl -X POST https://your-app-url/api/users \
  -H "Content-Type: application/json" \
  -d '{"name":"测试用户","email":"test@example.com"}'

❓ 常见问题

端口配置

  • HTTP 云函数:必须使用 9000 端口
  • 云托管:推荐使用 8080 端口,支持自定义

文件要求

  • HTTP 云函数:需要编译后的 JAR 文件和 scf_bootstrap 启动脚本
  • 云托管:需要 Dockerfile.dockerignore

数据存储

  • 当前使用内存存储(重启后数据丢失)
  • 生产环境建议集成数据库(PostgreSQL、MySQL 等)

如何选择部署方式?

  • 轻量级应用:选择 HTTP 云函数
  • 企业级应用:选择云托管
  • 成本敏感:选择 HTTP 云函数
  • 需要持续运行:选择云托管

🛠️ 开发工具

推荐的开发依赖

<!-- 核心 Web 框架 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- 数据库支持 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<!-- 数据验证 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

<!-- 监控端点 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

环境变量配置

application.properties 中配置:

# 服务器配置
server.port=${PORT:8080}

# 数据库配置(可选)
spring.datasource.url=${DATABASE_URL:jdbc:h2:mem:testdb}
spring.datasource.username=${DB_USERNAME:sa}
spring.datasource.password=${DB_PASSWORD:}

# JPA 配置
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

📖 进阶功能

  • 依赖注入:强大的 IoC 容器
  • AOP 支持:面向切面编程
  • 数据访问:Spring Data JPA 集成
  • 安全框架:Spring Security 支持
  • 缓存抽象:多种缓存实现支持
  • 消息队列:Spring Cloud Stream 支持
  • 微服务:Spring Cloud 生态系统
  • 监控指标:Spring Boot Actuator

🔗 相关链接

📚 项目文档

🌐 官方文档

📄 许可证

本项目采用 MIT 许可证。详情请查看 LICENSE 文件。


需要帮助?

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages