Springboot项目

项目整体结构

image

src/main 目录

1. src/main/java 目录

这是存放 Java 源代码的地方

BootDemo2Application.java

@SpringBootApplication
public class BootDemo2Application {
    public static void main(String[] args) {
        SpringApplication.run(BootDemo2Application.class, args);
    }
}
  • 作用:这是整个应用的入口点,相当于程序的启动按钮
  • @SpringBootApplication:一个特殊的注解,告诉 Spring Boot 这是应用的主类
  • main 方法:程序执行的起点,调用 SpringApplication.run() 启动整个应用

controller/PageController.java

@Controller
@RequestMapping("/page")
public class PageController {
    @RequestMapping(value="/page2", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public Map<String, String> page2(@RequestBody User user, Map<String, Object> map){
        // 处理请求逻辑
        // 返回数据
        return dataMap;
    }
}
  • 作用:处理 HTTP 请求,相当于网站的"接待员"
  • @Controller:标记这是一个控制器类,专门处理用户请求
  • @RequestMapping("/page"):设置基础路径,所有该控制器的接口都会以 /page 开头
  • @RequestMapping(value="/page2", method = {...}):定义具体的接口路径 /page/page2,同时支持 GET 和 POST 请求
  • @ResponseBody:告诉 Spring Boot 直接返回数据,而不是渲染页面
  • @RequestBody User user:从请求体中获取用户数据并转换为 User 对象
  • Map<String, Object> map:用于存储数据,传递给视图(虽然这里实际返回的是 JSON)

domain/User.java

@Data
public class User {
    private String username;
    private String password;
}
  • 作用:定义数据模型,相当于数据的"容器"
  • @Data:Lombok 注解,自动生成 getter、setter、toString 等方法,简化代码
  • private String username;:用户名字段
  • private String password;:密码字段

2. src/main/resources 目录

存放应用所需的各种资源文件:

application.properties

spring.application.name=boot-demo-2
  • 作用:应用配置文件,可以设置各种参数
  • spring.application.name:设置应用名称为 boot-demo-2

static/page1.html

  • 作用:静态资源文件,直接返回给浏览器的 HTML 页面
  • 特点:内容固定,不会根据请求动态变化

templates/page2.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<body>
    <div th:text="你好+${name}"></div>
    <div th:if="${sex}">男</div>
    <div th:unless="${sex}">女</div>
    <!-- 其他 Thymeleaf 表达式 -->
</body>
</html>
  • 作用:Thymeleaf 模板页面,用于动态渲染数据
  • xmlns:th="http://www.thymeleaf.org":引入 Thymeleaf 命名空间
  • th:text="${name}":Thymeleaf 表达式,显示 name 变量的值
  • th:if="${sex}":条件判断,当 sex 为 true 时显示
  • th:each="str:${stringList}":循环遍历,显示 stringList 中的每个元素

posted on 2026-01-29 18:34  LVjiani  阅读(0)  评论(0)    收藏  举报

导航