springMVC介绍

Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型。SpringMVC是Spring框架的一个模块,SpringMVC和Spring无需通过中间整合层进行整合。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

开发的顺序

  • 创建一个路由,且进行测试。
  • 创建V层。构建界面。
  • 建立C层。测试C层。
  • 触发这个路由。建立触发条件,链接、按钮、弹出框
  • 建立原型
  • 后台开发
  • 依照原型,定制api(Application Programming Interface,应用程序编程接口)规范
  • 后台开发
  • 前后台对接

功能性开发

  • 定义路由对应的控制器
  • 初始化控制器
  • 数据绑定至V层
  • 功能开发(CRUD)

接口开发

  1. 请求的地址
  2. 请求的方法

开发步骤

  • 增加路由注解
  • 有CROS(跨域)设置的,要增加CROS设置

学习中遇到的问题

图片描述
图片描述
在运行测试时无法加载ApplicationContext 这是因为添加了一个错误的方法导致的,将第二张图中的void delete(Long id)删除掉就解决了。

图片描述
图片描述
中文乱码,询问组长,在配置文件(application.properties)添加?characterEncoding=utf8解决了问题。添加的作用是:指定字符的编码、解码格式。


图片描述
本来是想用教程中的findOne(id)这个形式的,结果发现,没有这个可以选择,都是图上的那种方式,后面发现,原因是springboot版本的问题,我用的是2.0以上的版本,2.0以前的都是支持findOne(id)这样的写法。

springboot2.0版本以后的以后就不行了,得换一种写法:findById(Integer id)
图片描述
这种写法就可以。不过findById()后面的需要加其他东西。
使用findById(Integer id).orElse(null),这里表示,如果id存在则返回需要查找的信息,如果不存在,这里设置为返回null。


臧琛
14 声望7 粉丝

// 程序出Bug了?