# Demo_WebSimple **Repository Path**: goddesszz/demo-web-simple ## Basic Information - **Project Name**: Demo_WebSimple - **Description**: springboot的web服务样例 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-10 - **Last Updated**: 2026-08-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Demo Web Simple 基于 Spring Boot 3.4.6 和 Java 17 的轻量级 Web 应用示例项目。 ## 📋 项目简介 这是一个简单的 Spring Boot Web 应用演示项目 ## 🛠️ 技术栈 - **Java**: 17 - **Spring Boot**: 3.4.6 - **构建工具**: Maven - **容器化**: Docker ## 📦 快速开始 ### 前置要求 - JDK 21+ - Maven 3.6+ - MySQL 8.0+ - Docker (可选) ### 本地运行 1. **克隆项目** ```bash git clone cd demo-web-simple ``` 2. **修改配置** 修改 `src/main/resources/application.yml` 中的配置: 3. **编译打包** ```bash mvn clean package -DskipTests ``` 4. **运行应用** ```bash java -jar target/demo-web-simple-1.0.jar ``` 或者指定配置文件: ```bash java -jar target/demo-web-simple-1.0.jar --spring.profiles.active=test ``` 5. **后台运行(Linux)** ```bash nohup java -jar demo-web-simple-1.0.jar --spring.profiles.active=test > ~/logs/demo-web-simple.log 2>&1 & ``` ### Docker 部署 先打包项目 mvn clean package -DskipTests 1. jar方式部署: ``` nohup java -Xms512m -Xmx512m -jar demo-web-simple-1.0.jar --spring.profiles.active="test" > logs/demo-web-simple.log 2>&1 & ``` 2. docker方式部署: 构建为docker镜像 ``` docker build --build-arg jar_file=target/demo-web-simple-1.0.jar -t demo/simple . ``` 导出为镜像文件 linux `docker save demo/simple | gzip > demo-web-simple.tar.gz` 导出为镜像文件 windows `docker save demo/simple -o demo-web-simple.tar` 导入镜像文件 `docker load -i demo-web-simple.tar.gz` 2. **运行容器** ```bash docker run -d --name demo-simple -p 8080:8080 \ -v $(pwd)/logs:/app/logs \ -v $(pwd)/config:/app/config:ro \ demo/simple:latest ``` 3. ** 快捷部署脚本 ** /script/ 目录下放置了快捷部署脚本 启动脚本:jar_start.sh `sh jar_start.sh -name=app1,app2 -env=test` 停止脚本:jar_stop.sh `sh jar_stop.sh -name=app1,app2` 清除大日志脚本:jar_clear_log.sh `sh jar_clear_log.sh -dir=~/logs` ## 🔍 健康检查 应用启动后,可以通过以下端点检查服务状态: ```bash curl http://localhost:8080/ curl http://localhost:8080/actuator/health ``` 其他可用的监控端点: - `http://localhost:8080/actuator/info` - 应用信息 - `http://localhost:8080/actuator/metrics` - 指标数据 ## 📁 项目结构 ``` src/main/java/com/zh/simple/ ├── common/ # 通用类(API响应、常量等) ├── config/ # 配置类(拦截器、过滤器、Web配置) ├── domain/ # 业务领域层 │ ├── entity/ # 实体类 │ ├── repository/ # 数据访问层 │ └── service/ # 业务逻辑层 ├── infra/support/ # 基础设施支持 └── web/ # Web控制器层 ``` ## ⚙️ 配置说明 主要配置文件:`src/main/resources/application.yml` 关键配置项: - **服务器端口**: 默认 8080 - **HTTP/2**: 已启用 - **JPA**: 自动更新表结构 (`ddl-auto: update`) - **日志级别**: info(可调整为 debug/warn/error) - **日志路径**: `${user.home}/logs/${spring.application.name}/` ## 🔧 常用命令 ```bash # 清理并编译 mvn clean compile # 打包(跳过测试) mvn clean package -DskipTests # 运行测试 mvn test # 安装到本地仓库 mvn clean install # 构建 Docker 镜像(使用 maven 插件) mvn dockerfile:build ``` ## 📝 API 示例 项目包含以下控制器: - `HelloController` - 基础示例接口 - `BookController` - 书籍管理接口 - `ApplicationController` - 应用管理接口 具体接口文档请参考各 Controller 代码。 ## 🐛 常见问题 1. **数据库连接失败** - 检查 MySQL 是否启动 - 确认数据库用户名、密码和 URL 配置正确 - 确保数据库已创建 2. **端口被占用** - 修改 `application.yml` 中的 `server.port` - 或在启动时指定:`--server.port=8081` 3. **Docker 构建失败** - 确保已执行 `mvn package` 生成 jar 包 - 检查 Dockerfile 中的 jar 文件名是否正确 ## 📄 License 本项目采用 MIT License - 详见 [LICENSE](LICENSE) 文件 ## 👥 贡献 欢迎提交 Issue 和 Pull Request! --- **注意**: 生产环境部署前,请务必修改默认的数据库密码和其他敏感配置。