目 录 第1章 Spring Boot与贯穿项目介绍 1 1.1 Spring Boot介绍 1 1.1.1 Spring Boot特性 2 1.1.2 Spring Initializr 3 1.2 开发环境 4 1.2.1 JDK 4 1.2.2 Maven 5 1.2.3 Gradle 5 1.2.4 Git 5 1.2.5 MySQL 5 1.2.6 Eclipse 6 1.2.7 Intellij IDEA 6 1.2.8 在IDEA中集成Maven 7 1.3 Spring Boot案例 7 1.3.1 创建项目 8 1.3.2 项目结构 9 1.3.3 **个案例 11 1.4 Spring Boot Test 12 1.5 贯穿项目的需求与设计 13 1.5.1 Alan人事管理系统 14 1.5.2 技术选型 14 1.5.3 员工管理模块和部门管理模块 15 1.5.4 权限管理模块 15 1.5.5 数据库设计 17 1.5.6 实体类设计 18 1.5.7 界面设计 19 1.6 本章总结 20 第2章 Spring Boot SSM实战 21 2.1 创建Spring Boot Module贯穿项目 21 2.1.1 创建Module 22 2.1.2 Alan人事管理系统项目结构 23 2.2 Spring Boot简化配置 24 2.2.1 简化Maven依赖配置 24 2.2.2 简化SSM框架配置 27 2.3 MyBatis 28 2.3.1 解耦合 29 2.3.2 参数 30 2.3.3 关联关系 33 2.3.4 动态语句 36 2.3.5 DAO层设计 37 2.4 Spring 38 2.4.1 DI 38 2.4.2 AOP 39 2.4.3 Service设计 40 2.5 Spring MVC 41 2.5.1 URL映射 41 2.5.2 接收参数 43 2.5.3 转发、重���向、响应JSON 44 2.5.4 Controller 设计 46 2.6 本章总结 48 第3章 显示层技术演变与Thymeleaf 49 3.1 显示层技术演变 49 3.1.1 静态网站 49 3.1.2 CGI 50 3.1.3 Servlet 50 3.1.4 JSP 51 3.1.5 模板引擎 52 3.1.6 模板引擎对比 53 3.1.7 前后端分离 54 3.2 Thymeleaf 55 3.3 在IDEA中复制项目并搭建环境 55 3.4 Thymeleaf详解 57 3.4.1 指令与显示 57 3.4.2 表达式 58 3.4.3 表达式运算 60 3.4.4 选择分支 61 3.4.5 循环 62 3.4.6 设置属性值 64 3.4.7 CSS修饰 65 3.4.8 片段 66 3.5 Thymeleaf**特性 66 3.5.1 全局工具对象 66 3.5.2 内联操作 67 3.6 Thymeleaf项目实战 69 3.6.1 显示页面 69 3.6.2 新增页面 71 3.6.3 修改页面 71 3.7 本章总结 72 第4章 传统Web前端设计 73 4.1 前端设计介绍 73 4.1.1 网页设计技术 74 4.1.2 网站通信技术 76 4.2 Bootstrap 77 4.2.1 栅格化 77 4.2.2 控件 78 4.2.3 Bootstrap项目实战 78 4.3 jQuery 80 4.3.1 常用API 80 4.3.2 jQuery项目实战 81 4.4 iframe复用技术实现首页 83 4.5 AJAX 85 4.5.1 AJAX特性 85 4.5.2 AJAX项目实战 86 4.5.3 模态框 88 4.5.4 JavaScript UI介绍 90 4.6 本章总结 91 第5章 Spring Boot特性与原理 92 5.1 spring-boot-dependencies管理依赖 92 5.1.1 版本管理 92 5.1.2 spring-boot-starter简化依赖 93 5.2 简化配置 95 5.2.1 properties和YAML 95 5.2.2 Java Config 97 5.3 快速运行 99 5.3.1 内置Web容器 99 5.3.2 热部署 100 5.3.3 启动类 100 5.4 **技术 101 5.4.1 HikariCP数据库连接池 102 5.4.2 Java日志发展史与Logback 103 5.5 Spring Boot原理与源码分析 107 5.5.1 @SpringBootApplication注解 108 5.5.2 Spring Boot启动流程 109 5.6 本章总结 115 第6章 持久层发展与Spring Data JPA 116 6.1 相关技术介绍 116 6.1.1 Spring Data 116 6.1.2 Hibernate 117 6.1.3 JPA 117 6.1.4 Spring Data JPA 118 6.2 Spring Data JPA详解 118 6.2.1 环境搭建 118 6.2.2 实体类 120 6.2.3 Repository接口 121 6.2.4 基本的新增、删除、修改、查询操作 123 6.2.5 方法命名查询 125 6.2.6 JPQL 126 6.3 关联关系 129 6.3.1 多对一 130 6.3.2 一对多 133 6.3.3 多对多 137 6.4 Spring Data JPA项目实战 138 6.4.1 实体类开发 138 6.4.2 DAO层开发 140 6.4.3 Service层及动态条件查询 141 6.4.4 多对多视图层开发 143 6.5 本章总结 147 第7章 缓存与Redis 148 7.1 Redis介绍 148 7.1.1 Redis特性 149 7.1.2 Redis数据结构 149 7.2 Redis详解 149 7.2.1 安装Redis 149 7.2.2 Redis命令 150 7.3 Spring Boot操作Redis 151 7.3.1 Spring Data Redis 152 7.3.2 Redis Repository 158 7.4 Spring Cache 162 7.4.1 Spring Cache介绍 163 7.4.2 Spring Cache详解 163 7.4.3 Spring Cache项目实战 165 7.5 本章总结 168 第8章 认证、授权与Spring Security 169 8.1 **框架 169 8.1.1 **框架比较 169 8.1.2 RBAC详解与设计 170 8.1.3 Spring Security环境配置 172 8.2 认证 173 8.2.1 Properties存储用户 173 8.2.2 Spring Security Config 173 8.2.3 配置登录 175 8.2.4 数据库存储用户 178 8.2.5 加密技术、MD5和Bcrypt 180 8.3 授权 183 8.3.1 授权配置 183 8.3.2 Config配置方式 186 8.3.3 @PreAuthorize注解方式 188 8.3.4 过滤URL方式 189 8.4 视图层权限 193 8.5 本章总结 194 第9章 Vue基础 196 9.1 Vue介绍 196 9.1.1 MVVM思想 197 9.1.2 前端三大框架介绍 197 9.2 DOM编程与MVVM编程对比 198 9.2.1 改变元素内容案例 198 9.2.2 表单与表格案例 200 9.3 Vue语法 203 9.3.1 Vue对象和文本渲染 203 9.3.2 选择分支 204 9.3.3 循环 205 9.3.4 CSS处理 207 9.3.5 事件 208 9.3.6 表单 209 9.4 Vue项目实战 210 9.4.1 Vue环境搭建 210 9.4.2 员工展示 211 9.4.3 条件查询 213 9.4.4 选中表格数据 214 9.4.5 改造按钮与删除员工 214 9.4.6 新增员工 215 9.4.7 修改员工 216 9.5 本章总结 217 第10章 RESTful与接口文档 218 10.1 RESTful介绍 219 10.1.1 RESTful原则 219 10.1.2 RESTful风格的URL 220 10.2 Spring MVC RESTful支持 221 10.3 RESTful项目实战 223 10.4 测试接口 227 10.5 Swagger 228 10.5.1 Swagger项目实战 229 10.6 本章总结 232 第11章 Vue 3 Vite TypeScript前端工程化 233 11.1 前端工程化简介 233 11.1.1 前端工程化的必要性 233 11.1.2 前端工程化的现状 234 11.2 前端工程化技术概览 235 11.2.1 ECMAScript 235 11.2.2 TypeScript 235 11.2.3 NodeJS 236 11.2.4 npm 237 11.2.5 Webpack与Rollup 237 11.2.6 Babel 237 11.2.7 Vue CLI 238 11.2.8 Vite 238 11.3 ECMAScript语法 238 11.3.1 let和const 238 11.3.2 定义对象 239 11.3.3 import和export 241 11.3.4 箭头函数 242 11.4 Vue前端工程化环境搭建 244 11.4.1 安装NodeJS 244 11.4.2 安装npm 244 11.4.3 WebStorm 244 11.5 使Vite创建Vue项目 245 11.5.1 Vite创建项目 245 11.5.2 Vue项目欢迎页面代码解析 247 11.6 本章总结 250 第12章 Vue** 251 12.1 组件 251 12.1.1 定义组件 252 12.1.2 复用组件 253 12.1.3 组件传参 256 12.2 组合式API与setup语法糖 259 12.2.1 组合式API 259 12.2.2 setup语法糖 262 12.2.3 响应式函数ref()和reactive() 263 12.3 路由 264 12.3.1 定义路由 264 12.3.2 路由跳转 266 12.3.3 嵌套路由 269 12.3.4 路由传参 270 12.4 Hash和History的原理 270 12.5 axios 272 12.6 本章总结 273 第13章 Spring Boot Vue前后端分离项目实战 274 13.1 选项式API项目实战 274 13.1.1 引入技术依赖 274 13.1.2 员工管理模块 276 13.1.3 解决跨域问题 279 13.1.4 Index组件 279 13.2 组合式API项目实战 281 13.3 setup语法糖项目实战 283 13.4 本章总结 284 第14章 Element Plus 285 14.1 Element Plus介绍 285 14.1.1 Element Plus特点 286 14.1.2 Element Plus案例 286 14.1.3 搭建环境 287 14.2 Element Plus项目实战 288 14.2.1 首页布局 288 14.2.2 导航栏 289 14.2.3 表格 291 14.2.4 查询表单 293 14.2.5 按钮 295 14.2.6 弹出框提示 295 14.2.7 新增员工表单 296 14.2.8 自消失弹出框 297 14.3 本章总结 299 第15章 SPA富客户端 300 15.1 SPA介绍 300 15.1.1 SPA优缺点 301 15.1.2 富客户端设计 301 15.2 富客户端项目实战 302 15.2.1 Index视图组件开发 302 15.2.2 标签页设计 304 15.2.3 标签页优化 305 15.2.4 弹出框 307 15.2.5 员工组件重新设计 308 15.2.6 组件解耦重构 311 15.2.7 组件再次解耦重构 316 15.3 本章总结 317 第16章 前后端分离下的跨域、认证与授权 318 16.1 浏览器同源策略 319 16.2 跨域解决方案 319 16.2.1 CORS 320 16.2.2 反向代理 322 16.3 前后端分离项目认证 325 16.3.1 反向代理实现认证 325 16.3.2 CORS实现认证 329 16.3.3 JWT实现认证 330 16.4 1