logo
0
0
WeChat Login

Spring Boot Demo Project

这是一个基于Spring Boot 3.1.10的示例项目,展示了基本的REST API实现。

环境要求

  • JDK 17
  • Maven 3.6+
  • Docker(用于开发环境)
  • Visual Studio Code

快速开始

使用VSCode远程开发环境

  1. 克隆项目到本地:
git clone <repository-url>
cd <project-directory>
  1. 在VSCode中打开项目,系统会自动检测到开发容器配置。

  2. 点击右下角的提示,或使用命令面板(F1)选择"Reopen in Container",等待容器构建完成。

  3. 开发环境会自动安装所需的VSCode插件:

    • Language Support for Java
    • Spring Boot Extension Pack
    • Maven for Java
    • Project Manager for Java
    • Test Runner for Java

运行应用

在VSCode终端中执行:

mvn spring-boot:run

或使用VSCode的Spring Boot Dashboard插件启动应用。

应用将在 http://localhost:8080 启动。

API文档

1. Hello接口

  • URL: /api/hello
  • Method: GET
  • Description: 返回欢迎消息和当前时间戳
  • Response Example:
{
    "message": "Hello from Spring Boot!",
    "timestamp": "2024-01-01T12:00:00"
}

2. 健康检查接口

  • URL: /api/health
  • Method: GET
  • Description: 返回应用健康状态
  • Response Example:
{
    "status": "UP",
    "service": "Demo Application"
}

项目结构

.
├── .ide/                  # IDE配置目录
│   ├── dockerfile        # VSCode远程开发配置
│   └── Dockerfile       # 开发环境Docker配置
├── src/
│   ├── main/
│   │   ├── java/        # Java源代码
│   │   └── resources/   # 配置文件
│   └── test/            # 测试代码
├── pom.xml              # Maven配置
└── README.md           # 项目文档

开发

热重载

项目配置了Spring Boot DevTools,支持热重载功能:

  1. 修改Java文件后,DevTools会自动重启应用
  2. 修改资源文件后,无需重启即可生效

调试

  1. 在VSCode中,使用Spring Boot Dashboard查看和管理应用
  2. 使用内置的调试功能(F5)启动调试会话
  3. 可以设置断点、查看变量等

构建

生成可执行JAR文件:

mvn clean package

构建完成后,可以在target目录找到可执行的JAR文件。

配置说明

主要配置文件:src/main/resources/application.properties

# 服务器端口
server.port=8080

# 日志级别
logging.level.root=INFO
logging.level.com.example.demo=DEBUG

# 开发工具
spring.devtools.restart.enabled=true

问题排查

  1. 如果遇到构建错误,请确保:

    • JDK 17已正确安装并配置
    • Maven设置正确
    • 所有依赖都能正常下载
  2. 如果应用无法启动,请检查:

    • 8080端口是否被占用
    • 日志输出中是否有错误信息

贡献

欢迎提交Issue和Pull Request。

许可证

MIT License

About

No description, topics, or website provided.
Language
Markdown37.5%
gitignore19.5%
XML15.4%
Dockerfile13.1%
Others14.5%