当前位置: 首页 > news >正文

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
http://www.jsqmd.com/news/329997/

相关文章:

  • 中学生全科网课哪家好?实测3家高口碑,数学/英语/语文提分不踩坑
  • RAG、Agent 与 MCP 详解:现代AI系统的构建基石
  • 哲学社会科学研究的五大误区与出路——对《算法黑箱问题:休谟问题的当代延续》的批判性剖析
  • Windows 下使用 Flutter 进行混合开发环境搭建
  • Meta首席科学家LeCun:当前 AI 模型缺乏四项关键人类智能特质
  • 常用运维故障排查命令
  • [solution] 关闭硬件加速解决导出视频绿屏
  • 学霸同款 10个一键生成论文工具测评:专科生毕业论文+开题报告高效写作指南
  • 猫头鹰护眼靠谱吗?验光准度+近视防控全测评,家长必看!
  • 青少年全科网校怎么选?优质网校解析+避坑指南
  • Debian 13基于kubeadm和containerd部署单节点kubernetes
  • Java线程池缓冲队列上限解析 - 指南
  • 2026年本地衬塑衬四氟管道品牌口碑趋势分析,耐磨管件/合金管道/保温管件/高压管件,工厂预制化管道公司怎么选择
  • 避坑指南|青少年语数英网校哪家好?实测3科高口碑推荐,家长闭眼冲
  • 详细介绍:农产品电商|基于SprinBoot+vue的农产品电商系统(源码+数据库+文档)
  • 计算机毕业设计springboot公交线路查询系统 基于SpringBoot的城市公交出行路线智能检索平台 SpringBoot框架下的公共交通线路信息可视化系统
  • 小学生全科网课怎么选?语数英爆款平台+免费APP硬核测评!
  • 计算机毕业设计springboot娱乐网站设计与实现 基于SpringBoot的在线影音文学社区构建 SpringBoot驱动的多媒体互动娱乐平台研发
  • oracle使用服务名链接报错ORA-12537: TNS:connection closed
  • 市场上排行前列的短视频矩阵厂商推荐,ai数字人矩阵/ai排名/矩阵/抖音短视频矩阵,短视频矩阵系统排行
  • Stable数组的使用
  • YOLO在Java中跑不起来?手把手教你解决CUDA兼容性问题(附GPU推理完整代码)
  • 计算机毕业设计springboot体育场馆在线预约系统 基于SpringBoot的高校体育馆场地预约平台 SpringBoot+MySQL的校园运动场馆智能预订系统
  • Flutter 三端应用实战:OpenHarmony “呼吸灯”——在焦虑时代守护每一次呼吸的数字禅修
  • 计算机毕业设计springboot二手房产交易平台 SpringBoot驱动的二手房租售一体化平台 基于SpringBoot的存量房交易与租赁撮合系统
  • Flutter 三端应用实战:OpenHarmony “专注时光盒”——在碎片洪流中守护心流的数字容器
  • 2025年市场岗位能力重构与跨领域转型路径分析 - 详解
  • 山间雾里-重庆
  • 飞牛fnOS高危漏洞实战分析与应急处置指南(2026最新版)
  • 别小看这些碎片,芬兰乌拉尔语族的分词技术竟有这么大学问