Java Web快速开发教程(慕课版)—— Spring Boot+MyBatis实战
定 价:39 元
- 作者:师敏华
- 出版时间:2020/11/1
- ISBN:9787560657974
- 出 版 社:西安电子科技大学出版社
- 中图法分类:TP312.8
- 页码:256
- 纸张:胶版纸
- 版次:1
- 开本:16K
本书主要介绍Java语言及其Web开发。全书共14章,前12章讲述了Java基础知识及部分常用的高级知识。第13章详细讲解了当前主流的数据库访问框架MyBatis。第14章讲述了Spring Boot开发框架,并且通过完整的示例程序讲述了如何应用Spring Boot开发Web应用。
本书可作为高等学校计算机、软件及相关专业本科高年级学生的教材或研究生的参考书,也可供从事计算机相关工作的工程技术人员参考。
从1996年1月Sun公司发布Java的第一个开发工具包JDK 1.0 至今的二十多年时间里,除最初的几年外,Java语言几乎一直独占编程语言榜首。尽管最近几年Python、Go等语言发展迅速,但其在未来一段时间内仍难以撼动Java语言的地位。Java之所以有如此地位,不仅仅在于Java语言本身比较优秀,更是因为Java语言有庞大的生态圈。换一种编程语言并非难事,但困难在于如何替代其庞大的生态圈。因此,从这个意义上来说,作为一个程序员,尤其是需要和互联网以及新兴的物联网打交道的人来说,熟悉Java编程是一条必由之路。
Java语言本身的学习难度并不是太大,因为Java语言建立在C++?的基础之上,它在语法等方面和C++?很相似。如果有C/C++?基础的话,可以很快掌握Java语言。尽管掌握Java语言本身相对比较容易,但是要将其用起来并不是一件很容易的事情,其原因之一就是Java的生态圈太大,对于同一个问题有多种框架或者解决方案可供选择,这么多框架如何选择,如何学习,是摆在每一个Java编程人员面前的难题。
本书前12章讲述了Java基础知识和常用的高级知识。对于Java语言中的SWING没有进行讲解。尽管SWING是一种不错的GUI编程工具包,但如果想用SWING实现非常漂亮和炫目的界面有一定的难度。另外,本书对于一些相对过时的技术,比如Applet、WebStart等也未作讲述。还有一些常用但较为琐碎的技术也未作讲解,比如安全、签名、国际化等。关于这些方面的知识,读者在学习完本书之后可以参考相关资料。
第13章讲解了数据库访问的主流框架MyBatis。通过本章的学习,读者可以掌握MyBatis的核心用法,能够轻易将MyBatis融入自己的Java项目中。
第14章通过一个简单的Colyba职员信息系统示例,讲解了如何创建和开发一个完整的Spring Boot项目。
本书由师敏华、沈玉龙、张志为合作编写。许王哲、崔志浩、景玉、刘家继、温嘉伟、黄艺萌、常佳俊、王强、张一凡等学生参与了本书配套慕课资源的完成与在线练习系统的建设等相关工作。本书的出版得到了教育部产学合作协同育人项目(201901113011、201901156033)的支持。
限于作者水平,书中难免会有欠妥之处,恳请读者批评指正。
第1章 ?Java发展史与项目构建 1
1.1 ?Java版本发展 1
1.1.1 ?Java版本演进 1
1.1.2 ?EJB 2
1.1.3 ?JDK与JRE 2
1.1.4 ?JVM 2
1.1.5 ?JavaScript 3
1.2 集成开发环境 3
1.2.1 ?IDE的优势 3
1.2.2 ?STS安装 4
1.2.3 ?HelloWorld 5
1.2.4 ?Eclipse常用操作 9
1.3 ?Java程序编译与运行 9
1.3.1 包 10
1.3.2 ?Java程序的发布形式 10
1.3.3 ?Java的main方法 11
1.3.4 ?Java程序的运行 11
1.3.5 运行参数 11
1.3.6 ?JVM内存回收机制 13
1.3.7 ?Java程序分析调测工具 14
1.4 ?Maven 17
1.4.1 ?Maven的配置文件 17
1.4.2 ?pom.xml 18
1.4.3 ?Maven执行 27
1.5 持续集成 27
第2章 ?Java基本程序结构 29
2.1 数据类型 29
2.1.1 基本数据类型 29
2.1.2 ?String 30
2.1.3 运算符 32
2.1.4 数组 32
2.1.5 常量 33
2.2 控制流程 33
2.2.1 块作用域 33
2.2.2 条件语句 34
2.2.3 循环语句 35
2.2.4 ?switch 36
2.2.5 中断语句 36
2.2.6 ?try块 37
第3章 类 38
3.1 类的定义 38
3.2 控制可见范围的修饰符 38
3.3 构造器 39
3.4 ?this 41
3.5 ?final 43
3.6 ?static 43
3.7 参数传递 45
3.8 参数数量可变的参数传递 46
第4章 继承与接口 48
4.1 继承 48
4.1.1 多态 48
4.1.2 抽象类 50
4.1.3 Object 51
4.2 接口 53
4.2.1 定义 54
4.2.2 接口增强 55
4.2.3 ?clone 56
第5章 内部类与枚举 59
5.1 内部类 59
5.1.1 普通内部类 59
5.1.2 静态内部类 60
5.1.3 局部内部类 60
5.1.4 匿名内部类 60
5.1.5 内部类的特性 63
5.2 ?lambda表达式 63
5.2.1 ?lambda表达式的作用域 64
5.2.2 函数式接口 64
5.2.3 ?forEach和方法引用:: 65
5.3 枚举 66
5.3.1 简单枚举的定义 66
5.3.2 带有构造器的枚举 66
5.3.3 绑定方法的枚举 67
5.3.4 枚举的values和toString 68
第6章 泛型 69
6.1 固定类型 69
6.2 通配符类型 72
6.2.1 ?< ? extends T> 和< ? super T >
的区别 74
6.2.2 无限定通配类型 77
第7章 集合 78
7.1 集合接口概述 78
7.2 列表、集 78
7.3 映射表 79
7.4 集合运算操作 79
7.5 属性映射表 81
7.6 应用实例 82
第8章 异常处理与多线程 89
8.1 异常的抛出与捕获 89
8.1.1 异常的分类 89
8.1.2 异常的抛出 89
8.1.3 自定义异常 90
8.1.4 异常的捕获 90
8.1.5 异常的包装 91
8.2 线程创建 92
8.3 线程池 93
8.3.1 ?ThreadPoolExecutor 93
8.3.2 ?Executors 97
8.4 ?Callable与Future 97
8.5 线程的同步 100
第9章 本地IO与远程通信 101
9.1 输入与输出流 101
9.1.1 ?InputStream和OutputStream 101
9.1.2 ?FileInputStream和
?FileOutputStream 102
9.1.3 ?Reader和Writer 102
9.1.4 ?RandomAccessFile 103
9.2 内存映射文件 103
9.2.1 内存映射文件的使用 104
9.2.2 文件加锁机制 105
9.3 文件管理 105
9.4 对象序列化 106
9.4.1 transient 106
9.4.2 对象的保存和加载 106
9.5 ?RMI 107
9.6 ?JMS 110
第10章 数据库与数据流操作 111
10.1 ?JDBC概述 111
10.1.1 ?JDBC驱动类 111
10.1.2 连接数据库 112
10.2 执行SQL 112
10.3 流的概述 115
10.4 流的创建 116
10.4.1 集合对象产生流 116
10.4.2 ?Arrays产生流 116
10.4.3 ?Stream接口产生流 116
10.4.4 ?Files产生流 117
10.5 流的操作 117
10.5.1 ?filter、map和flatMap 117
10.5.2 ?limit、skip和concat 118
10.5.3 ?distinct、sorted和peek 118
10.6 流的约简 119
10.6.1 简单约简 119
10.6.2 ?Optional 120
10.6.3 ?reduce 121
10.7 结果收集 122
第11章 注解 124
11.1 概述 124
11.2 注解的定义及使用 124
11.3 标准注解 125
11.3.1 元注解 126
11.3.2 ?PostConstruct和Resource 128
11.4 注解式编程 128
第12章 反射与代理 131
12.1 概述 131
12.2 反射 131
12.2.1 ?Class类 131
12.2.2 使用反射创建类对象 133
12.2.3 使用反射创建类对象及方法
调用 134
12.3 代理 135
第13章 ?MyBatis 140
13.1 ?MyBatis概述 140
13.1.1 ?Java数据库编程 140
13.1.2 ?MyBatis发展历史 140
13.1.3 下载MyBatis 141
13.1.4 ?MyBatis三要素 141
13.2 ?MyBatis全局配置文件 142
13.2.1 ?XML文件的约束 142
13.2.2 ?MyBatis全局配置文件 144
13.2.3 ?environment和mapper 144
13.2.4 ?typeAliases 147
13.2.5 ?typeHandlers 148
13.2.6 ?objectFactory 150
13.2.7 ?plugins 150
13.2.8 ?databaseIdProvider 150
13.2.9 ?settings 151
13.3 ?MyBatis映射文件 151
13.4 ?select 151
13.4.1 参数传递 152
13.4.2 参数引用 158
13.4.3 ?resultType 158
13.4.4 ?resultMap 160
13.4.5 分步查询与延迟加载 166
13.5 ?insert、update和delete 169
13.5.1 更改提交 170
13.5.2 自增主键获取 171
13.6 动态SQL 172
13.6.1 ?if 173
13.6.2 ?choose 175
13.6.3 ?foreach 176
13.6.4 ?bind和模糊匹配 179
13.6.5 ?_databaseId和_parameter 179
13.7 抽取可重用SQL 181
13.8 ?OGNL常用操作及转义符 181
13.8.1 ?OGNL常用操作 181
13.8.2 转义符 182
13.9 存储过程 182
13.10 缓存机制 183
13.10.1 一级缓存 183
13.10.2 二级缓存 184
13.10.3 缓存的设置选项 185
13.10.4 三方缓存的整合 185
13.11 插件应用及分页插件
?PageHelper 185
13.11.1 插件应用 185
13.11.2 分页插件PageHelper 186
13.12 批量操作 187
第14章 ?Spring Boot 188
14.1 ?Spring及Spring Boot概述 188
14.1.1 ?Spring简介 188
14.1.2 ?Spring MVC 188
14.1.3 ?DI和AOP 189
14.1.4 ?Spring Boot简介 189
14.2 ?Http编程基础 190
14.2.1 概述 190
14.2.2 ?Http请求和响应 190
14.2.3 ?HttpServletRequest和
HttpServletResponse 191
14.3 ?Spring Boot开发模式 193
14.3.1 前后端分离 193
14.3.2 ?Spring Boot Web应用分层 193
14.3.3 ?Spring Boot启动类 193
14.4 ?Spring Boot注解 194
14.4.1 ?Component和ComponentScan 194
14.4.2 ?Autowired 194
14.4.3 ?SpringBootApplication 195
14.4.4 ?Service、Configuration和
Repository 195
14.4.5 控制器层相关注解 195
14.4.6 ?ConfigurationProperties和
Value 195
14.5 ?Spring Boot配置文件 197
14.5.1 概述 197
14.5.2 ?yaml文件 197
14.5.3 ?application 198
14.6 ?Spring Boot开发示例 199
14.6.1 示例项目Colyba 199
14.6.2 创建Colyba框架 199
14.6.3 ?Colyba项目结构 201
14.6.4 ?Colyba资源文件 202
14.6.5 ?Colyba的Dao层 206
14.6.6 ?Colyba的Service层 207
14.6.7 ?Colyba的Controller 213
14.6.8 ?Colyba的启动类 219
14.6.9 ?Colyba的pom 219
14.6.10 ?Colyba测试 221
14.7 ?Spring Boot数据源 224
14.7.1 多数据源配置 224
14.7.2 ?MyBatis全局配置 236
14.7.3 连接池 237
14.7.4 事务 240
14.8 ?Spring Boot的常用功能 241
14.8.1 拦截器 241
14.8.2 定时任务 242
参考文献 246