《Web应用技术》期末考试知识点整理本知识点梳理基于试卷覆盖选择题、简答题、读题写结果题、代码填空题、综合编程题五大题型所涉及的全部考点。一、Spring Boot 核心基础1.1 Spring Boot 简介与优势核心定位Spring Boot 是 Spring 框架的扩展旨在简化 Spring 应用的初始搭建和开发过程。与传统 Spring 框架的区别传统 Spring 需要大量 XML 或 Java 配置Spring Boot 通过自动配置减少配置量。Spring Boot 提供起步依赖Starter一个依赖包含多个相关库简化 Maven 管理。Spring Boot 内置 Web 服务器默认 Tomcat可打包成可执行 JAR 直接运行无需外部部署。1.2 配置文件默认配置文件application.properties或application.yml主要作用配置项目运行参数如服务器端口server.port数据库连接信息spring.datasource日志级别等1.3 核心注解注解作用使用位置SpringBootApplication标记启动类组合了ConfigurationEnableAutoConfigurationComponentScan启动类RestController标记 REST 控制器相当于ControllerResponseBody方法返回数据而非视图Controller 类Controller标记控制器返回视图或配合ResponseBody返回数据Controller 类Service标记业务逻辑层组件Service 实现类Mapper标记 MyBatis 数据访问层接口Mapper 接口Component通用组件注解可被 Spring 容器扫描管理任意类Autowired按类型进行依赖注入字段、构造方法、setter 方法Resource按名称进行依赖注入Java 标准字段、setter 方法1.4 依赖注入DI与控制反转IoC概念将对象所需依赖关系的创建和管理交给 Spring 容器而非对象自身创建。IoC控制反转对象的创建权由程序本身反转给 Spring 容器。DI依赖注入容器在创建对象时自动将其依赖的对象注入进去。优点降低代码耦合度提高可测试性和可维护性。注入方式字段注入Autowired直接写在字段上构造方法注入推荐setter 方法注入1.5 请求映射注解Spring MVC注解说明示例RequestMapping通用请求映射RequestMapping(value /book, method RequestMethod.GET)GetMapping映射 GET 请求GetMapping(/book/{id})PostMapping映射 POST 请求PostMapping(/book)PutMapping映射 PUT 请求更新PutMapping(/book/{id})DeleteMapping映射 DELETE 请求删除DeleteMapping(/book/{id})1.6 参数接收注解注解作用示例PathVariable接收 URL 路径中的参数DeleteMapping(/user/{id})→PathVariable Integer idRequestParam接收 URL 查询参数RequestParam(page) Integer pageRequestBody接收请求体中的 JSON 数据RequestBody Student student1.7 启动类与运行启动类包含main方法使用SpringBootApplication标记。运行方式mvn spring-boot:run或java -jar xxx.jar二、MyBatis 持久层框架2.1 MyBatis 简介定位半自动化的 ORM对象关系映射框架。特点需要开发者编写 SQL 语句与全自动 ORM 如 Hibernate 的区别。将 SQL 与 Java 代码解耦提高维护性。通过 XML 或注解配置 SQL 与方法的映射关系。2.2 核心注解注解作用Mapper标记接口为 MyBatis 的 Mapper 接口生成代理实现类Select在方法上直接编写查询 SQLInsert在方法上直接编写插入 SQLUpdate在方法上直接编写更新 SQLDelete在方法上直接编写删除 SQLParam为 Mapper 方法的多个参数命名便于 SQL 中引用2.3 Mapper.xml 映射文件核心标签标签作用select定义查询 SQLinsert定义插入 SQLupdate定义更新 SQLdelete定义删除 SQLwhere动态生成 WHERE 子句自动处理多余 AND/ORif条件判断用于动态 SQLforeach循环用于 IN 查询或批量操作动态 SQL 示例selectidsearchresultTypeStudentselect * from studentwhereiftestname ! null and name ! and name like concat(%, #{name}, %)/if/where/select2.4 参数传递单参数#{参数名}直接引用。多参数使用Param注解如Param(studentName) String studentNameSQL 中用#{studentName}引用。对象参数直接用对象的属性名如#{id}、#{name}。三、Vue.js 前端框架3.1 核心概念Vue 实例通过new Vue({ ... })创建。核心选项el挂载点指定 Vue 管理的 DOM 元素。data声明响应式数据必须是函数形式返回对象。methods定义方法通过this.属性名访问 data 中的数据。mounted生命周期钩子页面加载完成后自动执行。3.2 常用指令指令作用示例v-for循环渲染列表tr v-foritem in listv-if/v-else条件渲染div v-ifvisiblev-bind(简写:)动态绑定属性:hrefupdate.html?iditem.idv-on(简写)绑定事件clickdeleteItem(id)v-model双向数据绑定input v-modelform.name3.3 模板语法插值表达式{{ 变量名 }}在 HTML 中显示数据。属性绑定使用:简写如:href。3.4 生命周期重点mounted页面 DOM 渲染完成后执行适合发送初始数据请求如查询列表。3.5 与 Axios 配合Axios基于 Promise 的 HTTP 库用于发送 Ajax 请求。GET 请求axios.get(/api/books).then(res { ... })POST 请求axios.post(/api/book, data).then(res { ... })DELETE 请求axios.delete(/api/book/ id).then(res { ... })响应处理通常先检查res.data.code判断业务是否成功再使用res.data.data获取数据。四、前后端分离开发4.1 核心思想前端负责UI展示和用户交互后端负责业务逻辑和数据持久化。前后端通过RESTful API进行数据通信常见数据格式为JSON。4.2 优势并行开发前后端团队可独立开发只需提前约定 API 接口。独立部署前端可部署在 Nginx/CDN后端部署在服务器。技术栈解耦前端可选用 Vue/React后端可选用 Java/Node.js 等。可扩展性同一后端 API 可供 Web、App、小程序等多端使用。4.3 后端开发人员主要职责设计数据库表结构。编写业务逻辑层Service和数据访问层Mapper代码。设计并实现 RESTful API 接口Controller。使用 Apifox/Swagger 编写和维护 API 接口文档。进行接口自测保证接口的正确性和稳定性。五、Apifox 接口测试工具5.1 主要作用API 文档定义与管理接口调试与测试Mock 数据模拟团队协作5.2 使用场景前后端开发前约定接口规范后端开发完成后进行接口测试前端在接口未完成时使用 Mock 数据开发六、PageHelper 分页插件6.1 核心用法// 1. 设置分页参数页码每页条数PageHelper.startPage(page,pageSize);// 2. 执行查询自动在 SQL 后拼接 LIMITListStudentlistmapper.findAll();// 3. 封装为 PageInfo 对象包含总记录数、总页数等PageInfoStudentpageInfonewPageInfo(list);6.2 PageInfo 关键字段字段说明total总记录数pageNum当前页码pageSize每页条数pages总页数list当前页数据列表isFirstPage/isLastPage是否首页/末页6.3 前端分页需要的关键字段总记录数total用于计算总页数、显示“共 X 条”。当前页数据列表list用于在表格中渲染展示。七、Maven 项目管理工具7.1 核心配置文件pom.xml项目对象模型文件管理项目依赖、构建插件、项目信息。7.2 核心标签标签作用dependency声明项目依赖的外部库groupId定义项目组 IDartifactId定义项目构件 IDversion定义项目版本号plugins配置构建插件7.3 主要功能依赖管理自动下载所需 jar 包项目构建编译、打包、测试生命周期管理八、Lombok 插件8.1 主要作用通过注解在编译时自动生成样板代码无需手动编写。不会修改源码而是通过注解处理器在字节码层面生成代码。8.2 常用注解注解生成内容Datagetter、setter、toString、equals、hashCode、无参构造AllArgsConstructor全参构造方法NoArgsConstructor无参构造方法Getter/Setter仅生成 getter 或 setter九、JDBC 基础了解层次9.1 核心步骤顺序必须掌握获取数据库连接DriverManager.getConnection()创建 Statement / PreparedStatement执行 SQL 语句处理结果集ResultSet释放资源依次关闭 ResultSet、Statement、Connection9.2 Statement 与 PreparedStatement 的区别对比项StatementPreparedStatementSQL 注入存在风险可防止执行效率较低每次都编译较高预编译参数处理字符串拼接?占位符 setXxx十、RESTful API 设计规范10.1 核心原则使用HTTP 方法表示操作类型。使用URL表示资源。使用HTTP 状态码表示结果。10.2 常见映射操作HTTP 方法URL 示例查询列表GET/api/books查询单条GET/api/books/{id}新增POST/api/books修改PUT/api/books/{id}删除DELETE/api/books/{id}10.3 常见状态码状态码含义200 OK请求成功201 Created创建成功400 Bad Request请求参数错误404 Not Found资源不存在500 Internal Server Error服务器内部错误十一、分层架构与解耦思想11.1 三层架构MVC 模式层对应组件职责表现层ControllerRestController接收 HTTP 请求调用 Service返回响应数据业务逻辑层ServiceService封装业务逻辑协调多个 Mapper 操作事务管理数据访问层Mapper/DAOMapper直接操作数据库执行 SQL11.2 分层解耦的优势高内聚每层只关注自己的核心职责。低耦合层与层之间通过接口通信依赖于抽象而非具体实现。易于维护某层内部修改不影响其他层。便于测试可对每层独立进行单元测试。十二、典型开发流程以查询为例12.1 完整流程实体类创建与表对应的 Java 实体类使用 Lombok 简化。Mapper 接口定义数据访问方法用Mapper标记。Mapper.xml编写 SQL 映射文件实现动态 SQL。Service 接口声明业务方法。Service 实现类用Service标记Autowired注入 Mapper实现业务方法。Controller用RestController标记Autowired注入 Service暴露 API。前端用 Vue Axios 调用 API渲染数据。12.2 新增流程前端触发 → Vue methods → Axios POST 请求 → Controller 接收 → Service 调用 → Mapper 执行 INSERT → 返回结果12.3 删除流程点击删除按钮 → Vue methods 确认 → Axios DELETE 请求 → Controller 接收PathVariable→ Service 调用 → Mapper 执行 DELETE → 刷新列表十三、JSON 与数据交互13.1 基本格式{id:1,name:张三,major:计算机}13.2 前后端数据传递后端返回Controller 方法直接返回对象或Result封装对象Spring Boot 自动转为 JSON。前端接收res.data即为 JSON 对象。POST 请求传 JSON设置请求头Content-Type: application/json后端用RequestBody接收。十四、综合注意事项14.1 常见易错点RestController方法不返回视图而是返回 JSON 数据。PageHelper 必须在查询之前调用且只对其后的第一个查询生效。Mapper 接口方法多参数时必须用Param。MyBatis 中#{}是预编译占位符${}是字符串替换存在 SQL 注入风险。Vue 的data必须是函数形式return { ... }。操作数据库后务必释放资源JDBC 中。14.2 开发工具链构建工具Maven后端框架Spring Boot MyBatis前端框架Vue.js AxiosAPI 测试Apifox / Postman代码简化Lombok分页插件PageHelper整理说明以上知识点完全覆盖 A 卷所有题型选择、判断、简答、读题写结果、填空、编程所涉及的考点既包括基础概念也包含实战细节。建议同学结合课堂项目和实验代码对照复习。