Spring Boot 项目标准目录结构

好的!我来根据 Myapp 这个项目名称详细说明目录结构。

📁 Myapp 项目标准目录结构

复制代码
Myapp/                                  # 🎯 项目根目录
├── src/
│   └── main/
│       ├── java/                       # Java 源代码目录
│       │   └── com/                    # 公司域名倒写(推荐)
│       │       └── myapp/              # 🎯 项目名称小写
│       │           ├── MyappApplication.java    # 🎯 启动类(必须)
│       │           ├── controller/     # 🎯 控制器目录
│       │           │   ├── HomeController.java
│       │           │   └── UserController.java
│       │           ├── service/        # 业务逻辑层
│       │           │   └── UserService.java
│       │           ├── entity/         # 实体类
│       │           │   └── User.java
│       │           └── config/         # 配置类(可选)
│       │               └── WebConfig.java
│       └── resources/                  # 资源文件目录
│           ├── application.properties  # 🎯 配置文件
│           ├── static/                 # 🎯 静态资源目录
│           │   ├── css/
│           │   │   └── style.css
│           │   ├── js/
│           │   │   └── main.js
│           │   ├── images/
│           │   │   └── logo.png
│           │   └── welcome.html        # 静态HTML页面
│           └── templates/              # 🎯 模板文件目录
│               ├── index.html
│               ├── home.html
│               ├── user/
│               │   ├── list.html
│               │   └── profile.html
│               └── error/
│                   └── 404.html
├── target/                             # 编译输出目录
└── pom.xml                            # Maven配置文件

🎯 核心文件详细说明

1. 启动类(必须)

java 复制代码
// 位置:src/main/java/com/myapp/
// 文件:MyappApplication.java

package com.myapp;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyappApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyappApplication.class, args);
    }
}

2. 控制器类

java 复制代码
// 位置:src/main/java/com/myapp/controller/
// 文件:HomeController.java

package com.myapp.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HomeController {
    
    @GetMapping("/")
    public String home(Model model) {
        model.addAttribute("projectName", "Myapp");
        model.addAttribute("welcome", "欢迎使用 Myapp 项目!");
        return "index";  // 对应 templates/index.html
    }
    
    @GetMapping("/hello")
    public String hello() {
        return "hello";  // 对应 templates/hello.html
    }
}

3. HTML 页面文件

动态页面(推荐使用)
html 复制代码
<!-- 位置:src/main/resources/templates/ -->
<!-- 文件:index.html -->

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title th:text="${projectName}">Myapp</title>
    <link rel="stylesheet" th:href="@{/css/style.css}">
</head>
<body>
    <div class="container">
        <h1 th:text="${welcome}">欢迎消息</h1>
        <p>项目名称: <span th:text="${projectName}">Myapp</span></p>
        <a th:href="@{/hello}">去Hello页面</a>
    </div>
    <script th:src="@{/js/main.js}"></script>
</body>
</html>
静态页面
html 复制代码
<!-- 位置:src/main/resources/static/ -->
<!-- 文件:welcome.html -->

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>静态欢迎页 - Myapp</title>
</head>
<body>
    <h1>Myapp 静态欢迎页面</h1>
    <p>这是一个静态HTML页面,不需要控制器</p>
    <p>直接访问:http://localhost:8080/welcome.html</p>
</body>
</html>

🚀 快速开始步骤

步骤1:创建启动类

在 src/main/java/com/myapp/MyappApplication.java

步骤2:创建控制器

在 src/main/java/com/myapp/controller/HomeController.java

步骤3:创建HTML页面

在 src/main/resources/templates/index.html

步骤4:运行项目

右键点击 MyappApplication.java → Run As → Java Application

🌐 访问路径

页面类型 文件位置 访问URL 说明
首页 templates/index.html http://localhost:8080/ 通过控制器访问
Hello页 templates/hello.html http://localhost:8080/hello 通过控制器访问
静态页 static/welcome.html http://localhost:8080/welcome.html 直接访问
CSS文件 static/css/style.css http://localhost:8080/css/style.css 直接访问

📝 配置文件

application.properties

properties 复制代码
# 应用配置
server.port=8080
spring.application.name=Myapp

# 模板配置
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.cache=false  # 开发时关闭缓存

# 静态资源路径
spring.web.resources.static-locations=classpath:/static/

🎯 给Myapp项目的最简方案

对于 Myapp 项目,你只需要这3个核心文件:

  1. 启动类 :src/main/java/com/myapp/MyappApplication.java
  2. 控制器 :src/main/java/com/myapp/controller/HomeController.java
  3. 首页 :src/main/resources/templates/index.html

按照这个结构创建,你的 Myapp 项目就能成功运行并显示网页了!

需要我帮你创建具体的文件内容吗?

相关推荐
蛋蛋的就会顺顺的10 小时前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣
需要82611 小时前
Spring Bean 生命周期:从实例化到销毁的完整钩子
java·后端·spring
小 黄 鸡11 小时前
HashMap 面试必会知识点详解(JDK 8)
java·面试·职场和发展
伯恩bourne13 小时前
Spring Boot Bean 注册的两种方式:@Component 家族 vs @Configuration + @Bean
java·spring boot·后端
silvamux_13 小时前
curl 测试 OpenAI 兼容 API 的完整流程
java·人工智能·缓存·ai·oneapi
省钱兄--zs13 小时前
深圳24小时自助健身房软硬件解决方案实战指南与开发流程详解
java·数据仓库·spring boot·小程序·架构
顽疲14 小时前
Java vue 养老系统源码详解:月账单 care_month_bill 与 Quartz 扣费 Job 实践
java·开发语言·vue.js·vue养老·springboot养老·java养老
Wang's Blog14 小时前
Java 项目实战: 交友项目 - 安装开发工具与环境准备
java·开发语言·交友
用户212968352616814 小时前
开源了一个 Java 多智能体 LLM 框架 Baton:一个依赖,把 Agent 循环、工具调用、记忆、编排全配齐
java·llm
helmsail14 小时前
05 管理活动与选品
java