SpringBoot入门

  1. 首先创建SpringBoot 项目,点击新建项目,选择maven
    Snipaste_2026-01-29_09-11-36

2.设置父项目版本为3.5.10
Snipaste_2026-01-29_09-14-24

3.勾选项目所需依赖
3_2026-01-29_09-18-26

Snipaste_2026-01-30_16-23-11

4.static文件夹下的html可以直接访问,但是template下的不能直接访问,需要通过controller跳转
`@Controller
public class PageController {

@RequestMapping("/page2")
public String page2(HttpServletRequest req, HttpServletResponse resp, Map<String, String> map){
    return "page2";
}

}`
@Controller 注解,将类交给spring容器管理,springMVC会将返回的逻辑地址拼接前缀和后缀,跳转到对应页面
Snipaste_2026-01-30_16-48-51

  1. 引入thymeleaf所需依赖
    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>

  2. 可以通过请求对象 req,获取传入的参数,并封装到map中,springMVC对这个map会进行自动的封装转发,把Map里的键值对转换成Thymeleaf能识别的视图模型数据,最终让页面和后端数据实现绑定,此map不是普通的hashmap,而是模型容器专用的ModelMap.本质上是往MVC的模型(Model)里传数据
    @RequestMapping("/page2") public String page2(HttpServletRequest req, HttpServletResponse resp, Map<String, String> map){ String name = req.getParameter("name"); map.put("name", name); return "page2"; }
    `

    `

Snipaste_2026-01-30_17-11-27

7.将 age 19 存放到map中
@RequestMapping("/page2") public String page2(HttpServletRequest req, HttpServletResponse resp, Map<String, Object> map){ map.put("age", 19); return "page2"; }
8. <div th:if="${age}>18"> 成年 </div> <div th:unless="${age}>18"> 未成年 </div>
th:if 和 th:unless 是thymeleaf提供的if-else 要注意的点是引号里面的内容相同才能组成一对,进行选择判断
Snipaste_2026-01-30_17-17-52

9.将 一个名字集合存放到map中
List<String> nameList=List.of("mao1","mao2","mao3"); map.put("nameList",nameList);

  1. `
` thymeleaf使用th:each进行循环 以 临时变量:数据源的形式

Snipaste_2026-01-30_17-26-22

  1. 封装 User 实体类
    @Data @AllArgsConstructor @NoArgsConstructor public class User { private String username; private String password; }

  2. 将User 作为参数
    @RequestMapping("/page2") public String page2(User user, Map<String, Object> map){ map.put("user",user); return "page2"; }

`

` ![Snipaste_2026-01-30_18-47-35](https://img2024.cnblogs.com/blog/3764592/202601/3764592-20260130184934926-370391026.png)

14.@RequestBody 注解 可以将识别json中的 数据 自动识别并封装进java对象里
@RequestMapping(value="/page2" ,method = {RequestMethod.GET,RequestMethod.POST}) public Map<String,String> page2(@RequestBody User user, Map<String,Object> map){ Map<String,String> dataMap=new ConcurrentHashMap<>(); dataMap.put("username",user.getUsername()); dataMap.put("password",user.getPassword()); map.put("dataMap",dataMap); return dataMap; }

15.使用 APIFOX 进行测试
Snipaste_2026-01-30_19-01-20

  1. @ResponseBody 注解 可以将返回值 响应为JSON 格式,添加@ResponseBody 注解
    Snipaste_2026-01-30_19-05-32
    Snipaste_2026-01-30_19-03-13
posted @ 2026-02-01 16:00  theCabbage  阅读(1)  评论(0)    收藏  举报