第1章 Java Web概述 1
1.1 Java语言概述 2
1.2 Java环境介绍 3
1.2.1 Java运行环境 4
1.2.2 集成开发环境 8
1.2.3 Lombok插件 11
1.2.4 Git 22
1.3 Java Web开发概述 27
1.3.1 Java Web项目的基本结构 28
1.3.2 轻量级Java Web开发概述 31
1.3.3 经典Java Web开发概述 32
1.3.4 常用Java Web服务器 32
1.4 项目构建工具Maven简介 33
1.4.1 概述 34
1.4.2 下载和安装 34
1.4.3 配置方式 34
1.4.4 Maven使用 35
1.5 Servlet和JSP简介 44
1.5.1 Servlet简介 44
1.5.2 JSP简介 47
1.6 MySQL数据库简介 49
1.6.1 关系型数据库简介 49
1.6.2 Windows系统下安装MySQL 50
1.6.3 Linux系统下安装MySQL 51
1.7 数据交换协议 53
1.7.1 XML 53
1.7.2 JSON 55
1.8 本章小结 55
1.9 习题 56
1.9.1 单选题 56
1.9.2 填空题 57
1.9.3 简答题 57
1.10 实践环节 57
第2章 设计模式 59
2.1 分类和原则 60
2.2 常用设计模式 61
2.2.1 单例模式 62
2.2.2 工厂模式 63
2.2.3 代理模式 71
2.2.4 命令模式 73
2.2.5 策略模式 75
2.2.6 MVC模式 78
2.3 框架的基础:反射与动态代理 80
2.3.1 反射机制 80
2.3.2 动态代理 82
2.4 本章小结 85
2.5 习题 86
2.5.1 单选题 86
2.5.2 填空题 87
2.5.3 简答题 87
2.6 实践环节 88
第3章 Spring框架 89
3.1 概述 90
3.1.1 Spring框架的组成结构 90
3.1.2 Spring框架的优势 92
3.2 基本用法 93
3.2.1 Spring的使用流程 93
3.2.2 Spring的配置文件 94
3.2.3 Spring的依赖注入 95
3.2.4 Spring的注释配置 100
3.3 高级用法 101
3.3.1 Spring的后处理器 101
3.3.2 Spring的资源访问 104
3.3.3 Spring的AOP机制 107
3.3.4 Spring的事务管理 111
3.3.5 Spring的事件机制 114
3.4 本章小结 115
3.5 习题 115
3.5.1 单选题 115
3.5.2 填空题 117
3.5.3 简答题 117
3.6 实践环节 118
第4章 Spring Boot框架 119
4.1 概述 120
4.2 Spring Boot初探 121
4.2.1 第一个Spring Boot程序 121
4.2.2 接口协议:RESTFUL 124
4.2.3 接口文档自动生成 125
4.2.4 热重启 127
4.2.5 配置文件说明 128
4.3 基本用法 129
4.3.1 接口数据校验 129
4.3.2 文件上传和下载 131
4.3.3 定时任务 134
4.3.4 拦截器 136
4.3.5 缓存技术 138
4.3.6 模板引擎 139
4.3.7 异常处理 141
4.3.8 多环境配置 144
4.3.9 项目部署 145
4.4 高级用法 148
4.4.1 运行时监控 148
4.4.2 自定义starter 152
4.5 自定义Spring Boot 154
4.5.1 定义注解 155
4.5.2 实现入口servlet 156
4.5.3 创建业务实现类 160
4.5.4 配置tomcat 160
4.6 本章小结 162
4.7 习题 162
4.7.1 单选题 162
4.7.2 填空题 163
4.7.3 简答题 164
4.8 实践环节 164
第5章 MyBatis框架 165
5.1 概述 166
5.1.1 MyBatis简介 166
5.1.2 JDBC操作回顾 167
5.2 MyBatis初探 168
5.3 基本用法 172
5.3.1 xml映射文件 172
5.3.2 动态SQL语句 174
5.3.3 mapper 180
5.3.4 MyBatis的xml配置 180
5.3.5 日志 183
5.4 高级用法 183
5.4.1 代码生成 183
5.4.2 插件开发 187
5.5 Eclipse的mybatis插件 189
5.5.1 插件安装 189
5.5.2 插件使用 190
5.6 自定义MyBatis 195
5.6.1 创建测试方法 195
5.6.2 创建MappedStatement 197
5.6.3 创建配置类存储 197
5.6.4 创建SqlSession 197
5.6.5 创建执行器 199
5.6.6 创建动态代理类 200
5.6.7 创建语句与结果集存储配置类 201
5.6.8 结果测试 202
5.6.9 其他开源增强框架 203
5.7 本章小结 204
5.8 习题 204
5.8.1 单选题 204
5.8.2 填空题 206
5.8.3 简答题 206
5.9 实践环节 207
第6章 综合案例:空气质量监测平台 208
6.1 项目背景 209
6.2 项目需求 209
6.3 技术选型 211
6.4 系统设计及实现 211
6.4.1 页面设计 211
6.4.2 数据库设计 218
6.4.3 代码生成 220
6.4.4 接口设计 224
6.4.5 主要功能实现 233
6.4.6 Socket告警推送 244
6.5 本章小结 247
第7章 工程化实践浅谈 248
7.1 关于分布式 249
7.1.1 Nginx负载均衡 249
7.1.2 Nacos注册中心 252
7.1.3 Dubbo框架简介 254
7.1.4 Spring cloud 257
7.2 关于压力测试 261
7.2.1 JMeter介绍 261
7.2.2 简单HTTP请求配置 264
7.3 自动化部署之Jenkins 265
7.3.1 下载及运行 266
7.3.2 插件安装 267
7.4 本章小结 273
第8章 常见问题汇总 274
8.1 Linux上Tomcat启动速度慢 275
8.2 Linux上设置Spring Boot项目后台启动 276
8.3 Web应用中long型数据精度丢失 276
8.4 Content-Type接口传参的内容类型指定对应 277
8.5 启动程序端口被占用 277
8.6 部署启动提示版本问题 278
8.7 git导入开源项目速度太慢 278
8.8 开发过程中提示内存不够 279
8.9 生产环境如何关闭swagger接口文档页面 279
8.10 @RequestBody注解在基本类型上传输键值对报错 280
8.11 MyBatis的xml文件无法映射 281
参考文献 282