# -*- coding: utf-8 -*- """ Java Spring Boot 后端项目初始化模块 """ def init_spring_project(backend_dir, project_name): """初始化 Spring Boot 项目""" print("\n🚀 初始化 Spring Boot 项目...") # 创建基本的 Spring Boot 项目结构 src_main = backend_dir / "src" / "main" src_main_java = src_main / "java" / "com" / project_name.replace("-", "") src_main_resources = src_main / "resources" src_main_java.mkdir(parents=True, exist_ok=True) src_main_resources.mkdir(parents=True, exist_ok=True) # 创建主应用类 package_name = project_name.replace("-", "") app_java = src_main_java / "Application.java" app_java.write_text(f'''package com.{package_name}; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.CrossOrigin; import java.util.HashMap; import java.util.Map; @SpringBootApplication @RestController @CrossOrigin(origins = "*") public class Application {{ public static void main(String[] args) {{ System.out.println("🚀 服务器启动: http://localhost:8080"); System.out.println("📍 健康检查: http://localhost:8080/api/health"); SpringApplication.run(Application.class, args); }} @GetMapping("/api/health") public Map health() {{ Map response = new HashMap<>(); response.put("status", "ok"); response.put("message", "Welcome to {project_name} API"); return response; }} }} ''', encoding='utf-8') # 创建 application.properties app_properties = src_main_resources / "application.properties" app_properties.write_text(f'''server.port=8080 spring.application.name={project_name} ''', encoding='utf-8') # 创建 pom.xml pom_xml = backend_dir / "pom.xml" pom_xml.write_text(f''' 4.0.0 org.springframework.boot spring-boot-starter-parent 3.2.0 com.{package_name} {project_name}-backend 0.0.1-SNAPSHOT {project_name} 17 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-maven-plugin ''', encoding='utf-8') print("\n✅ Spring Boot 项目初始化成功") print("💡 启动命令: mvn spring-boot:run") print("⚠️ 注意: 需要安装 Maven 和 JDK 17+ 才能运行此项目")