# cloudrun-springboot **Repository Path**: TencentCloudBase/cloudrun-springboot ## Basic Information - **Project Name**: cloudrun-springboot - **Description**: 快速部署 Springboot 应用 - **Primary Language**: Java - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-04 - **Last Updated**: 2026-01-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 快速部署 Spring Boot 应用 一个完整的 Spring Boot 应用模板,支持快速部署到 CloudBase 平台。 ## 🚀 快速开始 ### 前置条件 - [Java 8](https://www.oracle.com/java/technologies/downloads/) 或更高版本 - [Maven 3.6+](https://maven.apache.org/download.cgi) 构建工具 - 腾讯云账号并开通了 CloudBase 服务 - 基本的 Java 和 Spring Boot 开发知识 ### 创建应用 > **📋 详细指南**:完整的项目创建步骤请参考 [Spring Boot 项目创建指南](./docs/project-setup.md) ```bash # 快速创建(基础步骤) mvn archetype:generate -DgroupId=com.tencent.cloudrun \ -DartifactId=cloudrun-springboot \ -DarchetypeArtifactId=maven-archetype-quickstart \ -DinteractiveMode=false cd cloudrun-springboot ``` ### 本地测试 ```bash # 编译项目 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 云函数部署指南](./docs/http-function.md) ### 🐳 云托管部署 适合企业级应用,支持更复杂的部署需求,容器化部署。 **快速部署步骤:** 1. 创建 `Dockerfile` 容器配置 2. 配置 `.dockerignore` 文件 3. 通过 CloudBase 控制台或 CLI 部署 [📖 查看详细的云托管部署指南](./docs/cloud-run.md) ## 🔧 API 接口 本模板包含以下 RESTful API 接口: ### 基础接口 ```bash GET / # 欢迎页面 GET /health # 健康检查 ``` ### 用户管理 ```bash GET /api/users # 获取用户列表(支持分页) GET /api/users/{id} # 获取单个用户 POST /api/users # 创建用户 ``` ### 示例请求 ```bash # 健康检查 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 云函数 - **需要持续运行**:选择云托管 ## 🛠️ 开发工具 ### 推荐的开发依赖 ```xml org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-validation org.springframework.boot spring-boot-starter-actuator ``` ### 环境变量配置 在 `application.properties` 中配置: ```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 ## 🔗 相关链接 ### 📚 项目文档 - [Spring Boot 项目创建指南](./docs/project-setup.md) - 从零开始创建项目 - [HTTP 云函数部署指南](./docs/http-function.md) - 云函数部署详细步骤 - [云托管部署指南](./docs/cloud-run.md) - 云托管部署详细步骤 ### 🌐 官方文档 - [CloudBase 官方文档](https://docs.cloudbase.net/) - [Spring Boot 官方文档](https://spring.io/projects/spring-boot) - [Java 官方文档](https://docs.oracle.com/javase/) ## 📄 许可证 本项目采用 MIT 许可证。详情请查看 [LICENSE](./LICENSE) 文件。 --- **需要帮助?** - 查看 [HTTP 云函数部署指南](./docs/http-function.md) - 查看 [云托管部署指南](./docs/cloud-run.md) - 访问 [CloudBase 官方文档](https://docs.cloudbase.net/)