图书简介:
项目1 搭建开发环境 1
学习目标 1
职业能力 1
知识准备 2
知识1 Java EE概述 2
知识2 MVC设计模式与SSM框架 2
任务实施 5
任务1 搭建后端开发环境 5
1.1.1 安装MySQL 8 6
1.1.2 安装Git 8
1.1.3 安装IDEA 10
任务2 配置开发环境 12
1.2.1 IDEA开发平台简介 12
1.2.2 IDEA主窗口说明和快捷键 13
1.2.3 IDEA简单断点调试 15
任务3 配置Git 16
项目小结 16
习题 17
实战强化 17
项目2 初始化项目 18
学习目标 18
职业能力 18
知识准备 19
知识1 Maven 19
知识2 Spring Boot 20
知识3 Git 21
任务实施 21
任务1 IDEA下配置项目Maven 21
任务2 初始化项目 22
2.2.1 新建项目 22
2.2.2 创建项目属性的application.yml配置文件 24
2.2.3 测试 25
任务3 分布式共享项目源码 26
2.3.1 在Gitee上创建仓库 26
2.3.2 IDEA平台下推送源码到仓库 28
任务4 克隆项目源码 32
任务5 使用Gradle构建项目 33
2.5.1 Gradle的安装与配置 33
2.5.2 创建基于Gradle构建的项目模块 36
任务6 导入/导出基于Gradle构建的项目文件 38
任务7 Gradle模块添加依赖 39
项目小结 41
习题 41
实战强化 42
项目3 项目集成前端框架Bootstrap 43
学习目标 43
职业能力 43
知识准备 44
知识1 前端框架Bootstrap 44
知识2 模板引擎Thymeleaf 44
任务实施 45
任务1 下载与集成Bootstrap 45
任务2 配置Thymeleaf 46
任务3 创建测试页 47
3.3.1 声明引用样式 47
3.3.2 声明使用脚本 48
3.3.3 使用组件——条纹式表格 48
任务4 创建登录页 49
3.4.1 创建login.html页面 49
3.4.2 复制登录元素 49
3.4.3 测试 50
任务5 集成EasyUI前端框架 50
3.5.1 集成EasyUI 52
3.5.2 定义引用EasyUI 52
任务6 使用EasyUI组件导航树和对话框 52
3.6.1 引入EasyUI 样式和脚本 52
3.6.2 使用HTML标签声明组件 53
3.6.3 使用JavaScript创建组件 53
3.6.4 使用对话框和导航树组件 53
3.6.5 部署运行 54
项目小结 54
习题 55
实战强化 55
项目4 使用Spring MVC实现控制层 56
学习目标 56
职业能力 56
知识准备 57
知识1 Spring MVC框架简介及其运行流程 57
知识2 Spring MVC框架的核心类和接口及其常用注解 58
知识3 Spring MVC请求映射 59
知识4 Session变量 61
知识5 Lombok 61
任务实施 63
任务1 集成Spring MVC框架 63
任务2 万能页面跳转 63
4.2.1 编写万能页面跳转控制层 63
4.2.2 编写跳转目标页面源码 63
4.2.3 测试跳转 66
任务3 简单数据传递 66
4.3.1 修改login.html页面 67
4.3.2 在控制层中添加validate()方法 67
4.3.3 修改listStudents.html页面 67
任务4 使用JavaBean进行复杂数据传递 68
4.4.1 创建JavaBean 68
4.4.2 修改validate()方法 68
4.4.3 测试 69
任务5 Session数据传递 69
4.5.1 新建页面 69
4.5.2 测试 69
任务6 Cookie数据传递 70
4.6.1 创建Cookie 71
4.6.2 运行 71
4.6.3 检查Cookie 71
任务7 Spring MVC异常处理 73
任务8 系统异常处理 74
4.8.1 配置异常 74
4.8.2 创建异常处理文件 75
4.8.3 引发异常处理 75
4.8.4 部署运行 75
任务9 自定义异常处理 75
4.9.1 设计自定义异常 76
4.9.2 创建报错页面 76
4.9.3 创建异常触发 76
4.9.4 部署运行 76
4.9.5 使用@ExceptionHandler注解实现异常处理 76
任务10 实现国际化 78
4.10.1 修改配置文件 78
4.10.2 定义国际化信息配置文件 79
4.10.3 创建引导文件的方法 79
4.10.4 创建首页 80
4.10.5 创建国际化信息文件 80
4.10.6 部署运行 81
项目小结 81
习题 82
实战强化 83
项目5 使用MyBatis实现数据访问层 84
学习目标 84
职业能力 84
知识准备 85
知识1 MyBatis框架介绍 85
知识2 数据库连接池Alibaba Druid 87
知识3 Spring声明式事务 87
任务实施 89
任务1 集成MyBatis和Alibaba Druid 89
5.1.1 导入依赖 89
5.1.2 创建数据库 91
5.1.3 配置项目的数据源和数据连接池参数 93
5.1.4 测试 94
任务2 显示学生信息 94
5.2.1 创建Dao层 94
5.2.2 创建模型Model 95
5.2.3 创建Controller层 95
5.2.4 修改View层 96
5.2.5 测试 97
任务3 整理三层架构&删除学生信息 98
5.3.1 在Dao层中添加方法 98
5.3.2 创建Service层 98
5.3.3 在Controller层中添加删除方法 99
5.3.4 在View层中添加删除链接 99
5.3.5 测试 100
任务4 新增学生信息 100
5.4.1 在Dao层中添加新增方法 100
5.4.2 在Service层中添加新增方法 101
5.4.3 在Controller层中添加新增方法 101
5.4.4 在View层中添加新增链接 101
5.4.5 在View层中创建addStudent.html文件 102
5.4.6 测试 104
任务5 修改学生信息 105
5.5.1 在Dao层中添加修改方法 105
5.5.2 在Service层中添加修改方法 105
5.5.3 在Controller层中添加修改方法 106
5.5.4 在View层中添加修改方法 106
5.5.5 在View层中修改editStudent.html文件 106
5.5.6 测试 109
任务6 分页显示学生信息 110
5.6.1 在Dao层中添加方法 110
5.6.2 在Service层中添加方法 110
5.6.3 在Controller层中添加方法 111
5.6.4 修改View层 111
5.6.5 测试 111
任务7 实现教师与课程的一对一关系 112
5.7.1 在Model层中添加方法 112
5.7.2 创建Dao层 113
5.7.3 在Service层中添加方法 113
5.7.4 在Controller层中添加方法 114
5.7.5 在View层中添加方法 114
5.7.6 测试 115
任务8 实现声明式事务管理 116
5.8.1 添加声明式事务管理注解 116
5.8.2 测试 116
项目小结 116
习题 116
实战强化 117
项目6 使用MyBatis Plus实现数据访问层 119
学习目标 119
职业能力 119
知识准备 120
知识1 MyBatis Plus 120
知识2 拦截器 120
任务实施 122
任务1 集成MyBatis Plus 122
6.1.1 添加MyBatis Plus依赖 122
6.1.2 安装MyBatisX插件 122
任务2 自动生成 123
6.2.1 找到自动生成工具 123
6.2.2 选择参数 123
6.2.3 检查生成文件 125
6.2.4 修改Mapper层 125
任务3 分页显示学生信息 125
6.3.1 添加分页插件 125
6.3.2 修改Controller层 126
6.3.3 测试 126
任务4 学生登录 127
6.4.1 添加登录拦截器 127
6.4.2 修改控制层LoginController 128
6.4.3 添加selectByNameAndPwd()方法 128
6.4.4 添加login()方法 128
6.4.5 修改登录页面 129
6.4.6 测试 130
任务5 实现学生与成绩的一对多关系 131
6.5.1 修改Student类 131
6.5.2 修改StudentServiceImpl类 132
6.5.3 修改StudentController类 132
6.5.4 修改View层 133
6.5.5 测试一 133
6.5.6 添加成绩与课程的一对一 134
6.5.7 修改listStudents.html 134
6.5.8 测试二 134
任务6 实现教师与课程的多对多关系 135
6.6.1 修改Model 135
6.6.2 修改Service层 136
6.6.3 修改Controller层 136
6.6.4 修改View层 136
6.6.5 测试 137
任务7 基于XML的Mapper写法 137
6.7.1 修改StudentMapper类 137
6.7.2 修改StudentMapper.xml 138
6.7.3 测试 139
项目小结 139
习题 139
实战强化 140
项目7 Spring原理解析 141
学习目标 141
职业能力 141
知识准备 142
知识1 Spring概述 142
知识2 IoC概述 143
知识3 Spring IoC 144
知识4 AOP 147
知识5 Spring AOP 149
任务实施 150
任务1 基于XML的属性注入Bean实例化 150
7.1.1 创建Car类 150
7.1.2 创建beans.xml文件 151
7.1.3 测试 151
任务2 Bean的引用 151
7.2.1 构造新类Human 152
7.2.2 修改beans.xml文件 152
7.2.3 测试 152
任务3 List类型属性的使用 153
7.3.1 修改Human类 153
7.3.2 修改beans.xml文件 153
7.3.3 测试 154
任务4 基于XML的构造函数实例化Bean 154
7.4.1 修改Car类 154
7.4.2 修改beans.xml文件 154
7.4.3 测试 155
任务5 Map类型属性的使用 155
7.5.1 修改Human类 155
7.5.2 修改beans.xml文件 155
7.5.3 测试 156
任务6 基于注解的实例化Bean 156
7.6.1 修改beans.xml文件 157
7.6.2 修改Car类 157
7.6.3 修改Human类 157
任务7 基于XML的AOP实现 158
7.7.1 创建目标类 159
7.7.2 创建增强 159
7.7.3 配置 160
7.7.4 测试 160
任务8 基于注解的AOP实现 161
7.8.1 修改配置 162
7.8.2 修改目标类 162
7.8.3 修改增强 162
7.8.4 测试 163
任务9 零配置实例化Bean 164
7.9.1 创建配置类 164
7.9.2 初始化容器 165
7.9.3 测试 166
任务10 通过静态工厂方法获取Bean 166
7.10.1 创建静态工厂类 166
7.10.2 修改beans.xml文件 166
7.10.3 修改运行文件 167
7.10.4 测试 168
任务11 通过实例工厂方法获取Bean 168
7.11.1 创建实例工厂 168
7.11.2 修改beans.xml文件 168
7.11.3 测试 169
任务12 自动创建代理 169
7.12.1 修改增强类 169
7.12.2 修改aop.xml文件 170
7.12.3 修改测试文件 170
7.12.4 测试 170
任务13 基于Schema的AOP实现 171
7.13.1 修改增强类 171
7.13.2 创建配置文件 172
7.13.3 创建测试类 172
7.13.4 测试 173
任务14 基于Schema的环绕增强 174
7.14.1 修改增强类 174
7.14.2 修改aop.xml文件 175
7.14.3 测试 175
任务15 零配置AOP的实现 176
7.15.1 修改业务类 176
7.15.2 修改增强类 176
7.15.3 修改测试类 176
7.15.4 测试 177
项目小结 177
习题 178
实战强化 179
项目8 项目的打包与部署 180
学习目标 180
职业能力 180
知识准备 180
知识1 打包 180
知识2 云部署 181
任务实施 181
任务1 打包 181
任务2 云服务器的购买与配置 182
任务3 图形化部署 183
8.3.1 重置系统,安装宝塔面板 183
8.3.2 开放端口 183
8.3.3 安装与配置数据库 184
8.3.4 上传打包文件 187
8.3.5 部署项目 187
8.3.6 测试 189
任务4 命令行部署 189
8.4.1 通过RPM方式安装JDK 189
8.4.2 通过YUM方式安装与配置MySQL 190
8.4.3 配置数据库 190
8.4.4 运行JAR 190
8.4.5 测试 190
项目小结 190
习题 191
实战强化 191
附录A 数据库设计 192
参考文献 198
展开
在很多开源项目中,Spring框架的“全家桶”使用形式广为流行。Java EE框架种类繁多,数十年间优胜劣汰,但Spring框架以扎实的基础逐步稳居前列。MyBatis也是一款优秀的持久层框架,几乎省去了所有JDBC代码和参数的手动设置及结果集的检索等操作。Spring和MyBatis的高效整合,构成了一套可快速搭建用户应用系统的软件框架组合。
在教学过程中,编者深深体会到学生对框架实战的整体面貌和开发细节难以把握,萌生了先解构实战项目,再重构成教学技能点和知识点的想法,于是编写了本书。本书基本涵盖了基础开发的全过程。
在学习本书之前,学生最好已经掌握了Java语言编程、数据库基础知识和网页编程基础。本书的特点是实用性强,操作思路明晰。授课过程和视频皆使用业界颇为流行的IDEA平台编译,项目基于Maven构建、运行在Spring Boot框架嵌套的Tomcat服务器上。项目数据库使用小型轻便的MySQL数据库服务器,使用Thymeleaf模板引擎集成Bootstrap前端框架,后台采用Spring MVC、MyBatis、Spring三大框架的集成。
本书结构:
项目1介绍了项目开发环境的安装和搭建,包括IDEA、MySQL 8和Git。
项目2介绍了在IDEA平台下Spring Boot项目的初始化过程、Maven构建工具和Git的使用。
项目3介绍了如何将前端框架Bootstrap、Thymeleaf模板引擎集成到Spring Boot项目中。
项目4针对Spring MVC框架设计了丰富的案例,详细介绍了与Spring Boot项目的集成,以及请求映射和参数传递、Cookie和Session变量的值传递。
项目5介绍了MyBatis框架与前面项目的集成,通过大量案例介绍MyBatis框架的运用,实现了对数据库的各种简单操作和多表关联等复杂操作。
项目6介绍了如何使用MyBatis Plus 框架替换MyBatis框架,快速地实现更加复杂的数据库关系表达和操作。
项目 7介绍了Spring框架的IoC和AOP知识,剖析了利用Spring容器如何创建和管理Bean,以及配置AOP,还介绍了基于XML和基于注解的事务管理配置。
项目8是拓展知识,引入了项目的手动打包和基于宝塔工具的项目云部署全过程。
如何使用本书:
首先,安装JDK、MySQL、IDEA。然后,安装Git软件作为项目的团队协作工具,构建工具Maven和Web服务器Tomcat均使用IDEA自带。
本书由熊君丽、曾珍珍担任主编,扶卿妮、刘鑫担任副主编。项目1由扶卿妮编写,项目2、项目3由曾珍珍编写,项目4~项目7由熊君丽编写,项目8由刘鑫编写,他还参与了本书的构思和校对。学校合作企业珠海爱浦京软件股份有限公司实训邦团队也给予了技术支持,在这里一并表示感谢。
为了方便教师教学,本书配有教学资源,请有此需要的教师、学生或读者登录华信教育资源网,注册后免费下载,如有问题,可以在网站留言板留言或与电子工业出版社联系(E-mail:hxedu@phei.com.cn)。也可以通过电子邮箱2556214@qq.com与编者联系,或者进入QQ交流群(831269404)获取更多学习资源。
由于水平有限,框架开发知识点过于丰富,书中难免存在疏漏和不足之处,恳请广大专家和读者给予批评、指正。
编 者
展开