猜你喜欢
Spring Boot 2+Thymeleaf企业应用实战

Spring Boot 2+Thymeleaf企业应用实战

书籍作者:杨恩雄 ISBN:9787121349249
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:8398
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

Java经过多年的发展,市面上的开发框架多不胜数,技术发展日新月异。《Spring Boot 2+Thymeleaf企业应用实战》的前面部分,会讲解目前市面上颇为流行的Spring Boot框架,使用该框架我们可以轻松构建出各种项目,在此基础上,介绍Spring MVC的使用,学习完这些知识后,读者可以掌握Spring Boot、Spring MVC的核心内容。本书的第二部分,会深入讲解Thymeleaf框架,这是一个较为新颖的模板引擎,使用Thymeleaf,我们可以完全抛弃JSP,并进入一种更为简便的页面开发模式。本书的第11章,会讲解目前市面上常用的几个JavaScript框架,像jQuery、Bootstrap以及Vue.js,学习完这些知识后,读者可以使用这些框架开发大部分的页面功能。《Spring Boot 2+Thymeleaf企业应用实战》的第12章,绍如何使用Spring Data框架操作各个主流数据库,使用像MySQL、Redis、MongoDB。《Spring Boot 2+Thymeleaf企业应用实战》的第13章,介绍使用Spring Cloud里面的主要框架,学完本章知识后,读者可以开发基本的微服务项目。本书的zui后一章,本书以一个案例为基础结束本书内容。《Spring Boot 2+Thymeleaf企业应用实战》定位为一本Java Web开发的入门级书籍,从表现层到持久层,力求为大家提供一整套Java Web开发的技术教程。

作者简介

杨恩雄,从事十多年Java EE企业应用开发,曾任中企动力系统设计师、中企开源项目经理、数码辰星科技公司项目经理,参与过多个企业OA、ERP项目的设计与架构工作,在大数据应用、SOA、互联网产品方面有着丰富的开发经验及架构经验,著有》《疯狂Spring Cloud微服务架构实战》《疯狂工作流讲义等书籍。

编辑推荐
适读人群 :Java Web开发人员及计算机相关专业高年级在校生

1. 涵盖多个技术框架

本书期望给读者提供一整套的企业应用开发方案,包括目前流行的Spring Boot、Thymeleaf、Spring Data以及多个JavaScript框架,学习完本书知识后,读者掌握的并不是一两个技术框架,而是一整套当前流行的开发技术。

2. 内容深入

本书以Spring Boot与Thymeleaf为核心,以如何使用Thymeleaf为主线,对Thymeleaf这个目前颇为流行的模板框架进行了系统讲解,既展现了它的技术特性,又辅之以原理分析,务求让读者充分掌握这个模板引擎。

3. 视频带领入门

看得懂、学得会、做得出是作者一贯的风格,对于初次接触这些知识的读者,本书提供了配套视频,助力你更快地掌握知识。


前言
Java经过多年的发展,市面上出现的开发框架多不胜数,技术发展日新月异。程序员群体是一个求知若渴的群体,也是一个容易接受新知识的群体,为了学习新技术,多少人食不知味、夜不能寐。笔者有幸成为一名平凡的程序员,从业十余年,面对各种新技术,时常怀着一颗谦卑的心,不停前进,不断学习。
  笔者从2006年开始进行Java Web开发,使用过大部分主流的Java技术,例如EJB、Servlet、MVC框架等,在此过程中开发过多个大型项目,经历了这些项目从无到有的过程,深知系统开发之不易。一直以来,期望能使用最简单的方式开发出最完美的系统。近年来随着Spring Boot的兴起,Java的Web开发趋向简单,笔者希望能将Spring Boot等技术进行推广,从而降低Java Web开发的门槛,因此编纂本书。笔者学识浅薄,加之仓促付梓,书中错漏定然难免,望读者指正。
  本书能得以出版,得益于多方襄助,对他们的感激之情,难以言表。感谢传道并解惑的恩师,感谢聪颖而好学的读者,感谢善良和亲爱的家人,笔者会谢意永存、铭感不忘。
  本书特点
  笔者长期工作于企业的IT部门,有着丰富的企业应用开发经验,因此本书有以下特点。
  1.涵盖多个技术框架
  笔者期望本书能给读者提供一整套的企业应用开发方案,因此本书介绍了目前最为流行的Spring Boot、Thymeleaf、Spring Data以及多个JavaScript框架。学习完本书知识后,读者掌握的并不是一两个技术框架,而是一整套当前非常流行的开发技术。
  2.内容深入
  本书以Spring Boot与Thymeleaf为核心,其中Thymeleaf是目前非常流行的模板框架,本书对该框架进行了系统讲解,内容由浅入深,务求使读者充分掌握这个模板框架。
  3.案例贴近实际,视频带领入门
  笔者长期供职于IT企业,奋斗于研发一线,因此本书的各个知识点对应的案例更加贴近实际。看得懂、学得会、做得出是笔者一贯的风格,对于初次接触这些知识的读者,本书提供了配套的视频,助力你更快地掌握知识。
  4.注释详细
  简单易懂是笔者一直以来坚持的目标,本书中的几乎每行Java代码均有注释,读者可以很容易地了解代码的意思,轻松掌握知识。
  本书写给谁看
  笔者一直以来希望能将复杂的技术简单化,因此将本书定位成一本入门级的Java Web开发书籍,只要你有一定的Java语言基础,就可以在本书的基础上,学习使用Spring Boot+Thymeleaf进行Java Web应用开发。
  衷心感谢
  首先非常感谢李刚老师,一直以来,他既是我的老师,也是我的技术后盾,非常幸运人生能有这样一位良师益友。
  最后感谢我的家人,你们是我前进的动力。
  下载本书代码与联系作者
  本书的所有代码、软件,均可以到以下网盘获取:http://pan.baidu.com/s/1sl5FWK1。读者也可以扫描以下的二维码,关注“疯狂图书”公众号获取本书资料。公众号内除了提供本书代码外,还提供了相关视频供读者下载。
目录

第1章 概述 1
1.1 Java EE开发技术 2
1.1.1 Java EE的三层架构 2
1.1.2 MVC框架 2
1.1.3 数据访问层框架 3
1.1.4 视图技术 3
1.2 JDK的下载与安装 3
1.3 安装与配置Maven 4
1.3.1 关于Maven 4
1.3.2 下载与安装Maven 4
1.3.3 配置远程仓库 5
1.4 安装Eclipse 5
1.4.1 Eclipse版本 5
1.4.2 在Eclipse中配置Maven 5
1.4.3 获取本书代码 6
1.5 本章小结 6

第2章 初试Spring Boot 7
2.1 Spring Boot介绍 8
2.1.1 Spring Boot简介 8
2.1.2 starter模块 8
2.2 构建第一个Spring Boot程序 9
2.2.1 新建Maven项目 9
2.2.2 编写启动类 10
2.2.3 编写控制器 11
2.2.4 开发环境的热部署 12
2.3 运行单元测试 12
2.3.1 测试Web服务 12
2.3.2 模拟Web测试 13
2.3.3 测试业务组件 13
2.3.4 模拟业务组件 14
2.4 发布与调用REST服务 15
2.4.1 REST 15
2.4.2 发布REST服务 15
2.4.3 使用RestTemplate调用服务 16
2.4.4 使用Feign调用服务 18
2.5 本章小结 19

第3章 Spring Boot配置 20
3.1 配置文件 21
3.1.1 默认配置文件 21
3.1.2 指定配置文件 22
3.1.3 yml文件 22
3.1.4 使用profile指定配置 23
3.2 Web配置 24
3.2.1 Servlet配置 24
3.2.2 Listener配置 25
3.2.3 Filter配置 26
3.2.4 构建可部署的war包 26
3.2.5 JSP配置 28
3.3 其他配置 30
3.3.1 服务器常用配置 30
3.3.2 响应压缩 30
3.3.3 SSL配置 32
3.3.4 使用其他服务器 32
3.3.5 服务器访问日志 33
3.3.6 banner配置 34
3.4 自定义配置 35
3.4.1 @Value注解 35
3.4.2 定义属性映射对象 36
3.4.3 使用配置 37
3.4.4 属性自动识别 38
3.5 本章小结 39

第4章 Spring Boot的注解 40
4.1 Spring的常用注解 41
4.1.1 bean定义 41
4.1.2 依赖注入 42
4.1.3 使用Primary注解 44
4.1.4 Scope注解 45
4.1.5 方法注入 46
4.1.6 AOP注解 47
4.1.7 ComponentScan注解 49
4.2 高级Spring注解 50
4.2.1 限定注解 50
4.2.2 自定义限定注解 51
4.2.3 自定义bean的生命周期 52
4.3 Spring MVC的常用注解 54
4.3.1 Controller注解 54
4.3.2 RequestMapping注解 55
4.3.3 PathVariable注解 56
4.3.4 MatrixVariable注解 56
4.3.5 RequestParam注解 57
4.3.6 文件上传 58
4.3.7 RestController注解 58
4.4 Spring Boot的条件注解 59
4.4.1 类条件注解 59
4.4.2 项目依赖问题 60
4.4.3 其他条件注解 61
4.4.4 自定义条件注解 61
4.4.5 Spring Boot的自动配置 62
4.5 本章小结 63

第5章 初试Thymeleaf 64
5.1 Thymeleaf 65
5.1.1 什么是Thymeleaf 65
5.1.2 支持的模板类型 65
5.1.3 HTML模板 65
5.1.4 XML模板 66
5.2 初试Thymeleaf API 66
5.2.1 处理HTML 66
5.2.2 更换模板解析器 67
5.2.3 处理资源文件 67
5.2.4 变量处理 68
5.2.5 遍历集合 69
5.2.6 设置前缀与后缀 69
5.3 在Servlet应用中整合Thymeleaf 70
5.3.1 建立项目 70
5.3.2 配置模板引擎 71
5.3.3 在Servlet中使用Thymeleaf 72
5.3.4 编写模板文件 73
5.4 在Struts2中整合Thymeleaf 74
5.4.1 建立与配置Struts2项目 74
5.4.2 配置Struts Action 75
5.4.3 整合Themeleaf 76
5.5 在Spring Boot中整合Thymeleaf 77
5.5.1 建立与配置项目 77
5.5.2 编写控制器与模板 78
5.5.3 静态资源 79
5.6 本章小结 79

第6章 Thymeleaf对象的使用 80
6.1 文本处理 81
6.1.1 外部文本输出 81
6.1.2 文本国际化 82
6.1.3 处理转义文本 83
6.1.4 读取变量 83
6.1.5 在文本信息中使用变量 84
6.1.6 其他读取变量的方式 84
6.1.7 链接表达式 85
6.2 基本对象 86
6.2.1 基本对象概述 86
6.2.2 #ctx对象 87
6.2.3 Web对象 87
6.2.4 内置变量 88
6.2.5 使用基本对象的注意事项 88
6.3 数字对象 89
6.3.1 整数格式化 89
6.3.2 小数格式化 90
6.3.3 货币格式化 91
6.3.4 百分比格式化 92
6.3.5 使用sequence方法 92
6.4 字符串对象 92
6.4.1 toString与length方法 93
6.4.2 非空判断与默认值处理 93
6.4.3 包含判断 94
6.4.4 截取与替换 94
6.4.5 追加与拼接 95
6.4.6 分割与连接 96
6.4.7 大小写转换 96
6.4.8 字符串编码与解码 97
6.4.9 其他处理 98
6.5 日期对象 98
6.5.1 格式化日期 98
6.5.2 获取日期字段 99
6.5.3 创建日期 100
6.6 数组与集合对象 101
6.6.1 数组 101
6.6.2 List与Set 101
6.6.3 Map 101
6.7 其他内置对象 102
6.7.1 messages对象 102
6.7.2 uris对象 102
6.7.3 aggregates对象 103
6.8 本章小结 103

第7章 Thymeleaf常用语法 104
7.1 表达式语法之运算符 105
7.1.1 表达式常量 105
7.1.2 字符串拼接 106
7.1.3 算术运算符 106
7.1.4 关系运算符 107
7.1.5 条件运算符 108
7.1.6 无操作符 108
7.2 表达式语法进阶 108
7.2.1 数据转换 108
7.2.2 自定义数据转换类 109
7.2.3 Spring Boot数据转换 110
7.2.4 表达式预处理 112
7.2.5 表达式调用工具方法 113
7.3 属性设置 114
7.3.1 使用th:attr 114
7.3.2 设置HTML节点属性 114
7.3.3 属性值拼接 115
7.3.4 HTML5属性支持 115
7.4 条件判断与数据迭代 116
7.4.1 条件判断 116
7.4.2 switch case语法 117
7.4.3 使用th:each属性 117
7.4.4 常见迭代类型 118
7.4.5 迭代状态对象 118
7.4.6 数据延迟加载 120
7.4.7 在Spring Boot中使用延迟加载 121
7.4.8 星号表达式 121
7.5 本章小结 122

第8章 深入Thymeleaf模板 123
8.1 模板片断 124
8.1.1 定义与引用模板片断 124
8.1.2 片断引用语法 125
8.1.3 选择器的基础语法 126
8.1.4 选择器的其他语法 128
8.1.5 insert、replace与include的区别 128
8.1.6 含有变量的片断引用 129
8.1.7 片断块引用 130
8.1.8 无操作符的使用 131
8.1.9 删除模板 132
8.1.10 基本表达式总结 134
8.2 模板与逻辑分离 134
8.2.1 逻辑分离例子 134
8.2.2 逻辑分离配置 136
8.2.3 关联节点的选择 137
8.3 模板注释 137
8.3.1 解析层注释 138
8.3.2 原型注释 139
8.4 内联语法 139
8.4.1 使用内联语法显示文本 139
8.4.2 在JavaScript中使用内联语法 140
8.4.3 在CSS中使用内联语法 140
8.4.4 内联语法注释 141
8.4.5 内联语法序列化 142
8.5 模板缓存 143
8.5.1 开启与配置缓存 143
8.5.2 缓存有效时间 145
8.6 本章小结 146

第9章 Thymeleaf原理与扩展 147
9.1 概念与接口介绍 148
9.1.1 方言 148
9.1.2 处理器 149
9.1.3 模板处理者 150
9.1.4 模板解析事件 150
9.1.5 节点与标签 151
9.2 深入Thymeleaf模板处理 151
9.2.1 策略模式 151
9.2.2 责任链模式 153
9.2.3 合并使用策略模式与责任链模式 156
9.2.4 模板处理过程 159
9.2.5 模板事件 161
9.3 处理器 161
9.3.1 预处理器 161
9.3.2 后处理器 163
9.3.3 一般处理器 164
9.3.4 处理器优先级 165
9.3.5 标签处理器 167
9.3.6 模型处理器 168
9.3.7 边界处理器 170
9.3.8 其他处理器 170
9.4 Thymeleaf扩展 171
9.4.1 自定义标签 171
9.4.2 自定义模板属性 173
9.4.3 自定义内置对象 175
9.4.4 自定义执行属性 176
9.5 本章小结 177

第10章 Spring Boot与Thymeleaf整合 178
10.1 在Spring Boot中配置Thymeleaf 179
10.1.1 模板引擎配置 179
10.1.2 Spring MVC视图解析器 181
10.1.3 Thymeleaf视图解析器 184
10.1.4 数据转换配置 186
10.1.5 模板国际化 186
10.2 表单处理 188
10.2.1 表单提交 188
10.2.2 使用th:field属性 189
10.2.3 HTML节点的id生成 190
10.2.4 实现label节点 192
10.2.5 在模板中处理checkbox与radio 193
10.2.6 表单提交处理checkbox与radio 195
10.3 表单验证 195
10.3.1 表单验证 195
10.3.2 修改信息文件 197
10.3.3 输出错误信息 197
10.4 片断的使用 198
10.4.1 引用片断 198
10.4.2 使用bean选择片断 199
10.4.3 在控制器中引用片断 201
10.5 自定义标签 201
10.5.1 方言与处理器 201
10.5.2 配置方言 203
10.6 本章小结 204

第11章 使用JavaScript库 205
11.1 使用jQuery 206
11.1.1 概述 206
11.1.2 选择器 206
11.1.3 事件 207
11.1.4 数据列表 208
11.1.5 AJAX调用GET方法 209
11.1.6 AJAX调用POST方法 210
11.1.7 表单验证 211
11.2 Bootstrap 213
11.2.1 概述 213
11.2.2 数据列表 214
11.2.3 分页 215
11.2.4 表单 218
11.2.5 警告框的使用 219
11.3 Vue.js 221
11.3.1 概述 221
11.3.2 组件 222
11.3.3 指令 224
11.3.4 循环指令 225
11.3.5 表单验证 226
11.4 本章小结 227

第12章 数据库实战 228
12.1 概述 229
12.1.1 关于Spring Data 229
12.1.2 Spring Data的功能 229
12.1.3 Spring Data模块 230
12.2 Spring Data与JPA 230
12.2.1 构建项目 230
12.2.2 数据访问层与业务层 231
12.2.3 自定义数据存储逻辑 233
12.2.4 方法名查询 233
12.2.5 使用@Query注解 234
12.3 Spring Data与MongoDB 235
12.3.1 安装MongoDB 235
12.3.2 配置权限 236
12.3.3 MongoDB的相关概念 236
12.3.4 构建项目 236
12.3.5 数据访问层与业务层 237
12.3.6 自定义数据存储逻辑 238
12.3.7 方法名查询 239
12.3.8 使用@Query注解 240
12.4 Spring Data与Redis 241
12.4.1 Redis的安装与配置 241
12.4.2 Redis的数据类型 242
12.4.3 使用Jedis 242
12.4.4 构建Spring Data项目 243
12.4.5 数据访问层与业务层 244
12.4.6 自定义数据存储逻辑 246
12.4.7 方法名查询 247
12.5 本章小结 247

第13章 开发微服务 248
13.1 微服务与Spring Cloud 249
13.1.1 微服务简介 249
13.1.2 Netflix与Spring Cloud 249
13.1.3 Spring Cloud模块介绍 250
13.2 Eureka服务治理 250
13.2.1 Eureka架构 250
13.2.2 构建服务器 251
13.2.3 服务提供者 253
13.2.4 服务调用者 255
13.2.5 程序结构 257
13.3 Ribbon负载均衡 257
13.3.1 Ribbon介绍 258
13.3.2 第一个Ribbon程序 258
13.3.3 在Spring Cloud中测试使用 Ribbon 259
13.4 客户端Feign 260
13.4.1 Feign介绍 260
13.4.2 第一个Feign程序 260
13.4.3 使用Feign调用微服务 262
13.5 容错框架Hystrix 263
13.5.1 Hystrix介绍 263
13.5.2 第一个Hystrix程序 265
13.5.3 在Spring Cloud中整合Hystrix 266
13.6 本章小结 268

第14章 实战案例 269
14.1 系统功能及界面 270
14.1.1 登录与首页 270
14.1.2 图书管理模块 271
14.1.3 入库模块 272
14.1.4 销售模块 273
14.1.5 导航组件与分页组件 274
14.1.6 运行本章案例 275
14.2 数据库设计 275
14.2.1 用户表 275
14.2.2 图书表与库存表 275
14.2.3 入库单数据表 276
14.2.4 销售单数据表 276
14.3 搭建项目框架 277
14.3.1 项目依赖与项目结构 277
14.3.2 项目配置 278
14.3.3 实体设计 279
14.3.4 用户登录 281
14.3.5 片断定义 282
14.4 图书管理 283
14.4.1 数据列表 283
14.4.2 通用的分页组件 285
14.4.3 图片上传 286
14.4.4 新建图书 288
14.4.5 查看与修改图书 289
14.4.6 删除图书 290
14.5 销售单模块 291
14.5.1 列表与分页功能 291
14.5.2 选择图书 293
14.5.3 删除已选图书与修改数量 295
14.5.4 新建销售单 297
14.5.5 操作库存 299
14.6 首页数据查询与排序 300
14.6.1 库存查询 300
14.6.2 图书查询与轮播 301
14.6.3 数据排序 303
14.7 本章小结 304