《Spring Boot 2精髓 从构建小系统到架构分布式大系统》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:李家智著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:9787121328251
  • 页数:360 页
图书介绍:本书系统介绍了Spring Boot 2的主要技术,侧重于两个方面,一方面是极速开发一个Web应用系统,详细介绍Spring Boot框架、Spring MVC、视图技术、数据库访问技术,并且介绍多环境部署、自动装配、单元测试等高级特性;另一方面,当系统模块增加,性能和吞吐量要求增加时,如何平滑地用Spring Boot实现分布式架构,也会在本书后半部分介绍,包括使用Spring实现RESTful架构,在Spring Boot框架下使用Redis、MongoDB、ZooKeeper、Elasticsearch等流行技术,使用Spring Session实现系统水平扩展,使用Spring Cache提高系统性能。

第1章 Java EE简介 1

1.1Java EE 1

1.1.1Java EE架构 1

1.1.2Java EE的缺点 3

1.2Spring 4

1.2.1Spring IoC容器和 AOP 4

1.2.2Spring的缺点 7

1.3Spring Boot 8

1.4Hello,Spring Boot 9

1.4.1创建一个Maven工程 10

1.4.2增加Web支持 10

1.4.3Hello Spring Boot示例 13

1.4.4使用热部署 15

1.4.5添加REST支持 16

第2章 Spring Boot基础 17

2.1检查Java环境与安装Java 17

2.2安装和配置Maven 19

2.2.1Maven介绍 20

2.2.2安装Maven 22

2.2.3设置Maven 23

2.2.4使用IDE设置Maven 23

2.2.5Maven的常用命令 24

2.3Spring核心技术 27

2.3.1Spring的历史 27

2.3.2Spring容器介绍 28

2.3.3Spring AOP介绍 33

第3章 MVC框架 37

3.1集成MVC框架 38

3.1.1引入依赖 38

3.1.2Web应用目录结构 38

3.1.3Java包名结构 39

3.2使用Controller 40

3.3URL映射到方法 41

3.3.1@RequestMapping 41

3.3.2URL路径匹配 42

3.3.3HTTP method匹配 43

3.3.4consumes和produces 44

3.3.5params和header匹配 45

3.4方法参数 46

3.4.1PathVariable 47

3.4.2Model&ModelAndView 48

3.4.3JavaBean接受HTTP参数 50

3.4.4@RequsetBody接受JSON 52

3.4.5MultipartFile 53

3.4.6@ModelAttribute 55

3.4.7@InitBinder 56

3.5验证框架 56

3.5.1JSR-303 56

3.5.2MVC中使用@Validated 58

3.5.3自定义校验 59

3.6WebMvcConfiigurer 60

3.6.1拦截器 61

3.6.2跨域访问 62

3.6.3格式化 63

3.6.4注册Controller 64

3.7视图技术 64

3.7.1使用Freemarker 64

3.7.2使用Beetl 66

3.7.3使用Jackson 67

3.7.4Redirect和Forward 68

3.8通用错误处理 69

3.9@Service和@Transactional 72

3.9.1声明一个Service类 72

3.9.2事务管理 73

3.10curl命令 74

第4章 视图技术 77

4.1Beetl模板引擎 77

4.1.1安装Beetl 78

4.1.2设置定界符号和占位符 78

4.1.3配置Beetl 79

4.1.4groupTemplate 79

4.2使用变量 80

4.2.1全局变量 80

4.2.2局部变量 81

4.2.3共享变量 81

4.2.4模板变量 82

4.3表达式 82

4.3.1计算表达式 82

4.3.2逻辑表达式 83

4.4控制语句 83

4.4.1循环语句 83

4.4.2条件语句 85

4.4.3try catch 86

4.5函数调用 87

4.6格式化函数 87

4.7直接调用Java 88

4.8标签函数 89

4.9HTML标签 90

4.10安全输出 91

4.11高级功能 91

4.11.1配置Beetl 91

4.11.2自定义函数 93

4.11.3自定义格式化函数 94

4.11.4自定义标签函数 95

4.11.5自定义HTML标签 97

4.11.6布局 98

4.11.7AJAX局部渲染 100

4.12脚本引擎 101

4.13JSON技术 102

4.13.1在Spring Boot中使用Jackson 102

4.13.2自定义ObjectMapper 103

4.13.3Jackson的三种使用方式 103

4.13.4Jackson树遍历 104

4.13.5对象绑定 105

4.13.6流式操作 106

4.13.7Jackson注解 107

4.13.8集合的反序列化 111

4.14MVC分离开发 113

4.14.1集成WebSimulate 113

4.14.2模拟JSON响应 114

4.14.3模拟模板渲染 114

第5章 数据库访问 116

5.1配置数据源 116

5.2Spring JDBC Template 118

5.2.1查询 119

5.2.2修改 121

5.2.3JdbcTemplate增强 122

5.3BeetlSQL介绍 123

5.3.1BeetlSQL功能概览 124

5.3.2添加Maven依赖 124

5.3.3配置BeetlSQL 125

5.3.4SQLManager 126

5.3.5使用SQL文件 127

5.3.6Mapper 129

5.3.7使用实体 131

5.4SQLManager内置CRUD 131

5.4.1内置的插入API 131

5.4.2内置的更新(删除)API 132

5.4.3内置的查询API 132

5.4.4代码生成方法 133

5.5使用sqIId 134

5.5.1md文件命名 134

5.5.2md文件构成 135

5.5.3调用sqIId 135

5.5.4翻页查询 137

5.5.5TailBean 138

5.5.6ORM查询 139

5.5.7其他API 141

5.5.8Mapper详解 142

5.6BeetlSQL的其他功能 143

5.6.1常用函数和标签 144

5.6.2主键设置 145

5.6.3BeetlSQL注解 147

5.6.4NameConversion 148

5.6.5锁 148

第6章 Spring Data JPA 150

6.1集成Spring Data JPA 150

6.1.1集成数据源 150

6.1.2配置JPA支持 151

6.1.3创建Entity 152

6.1.4简化Entity 154

6.2Repository 155

6.2.1CrudRepository 155

6.2.2PagingAndSortingRepository 156

6.2.3JpaRepository 156

6.2.4持久化Entity 157

6.2.5Sort 158

6.2.6Pageable和Page 159

6.2.7基于方法名字查询 160

6.2.8@Query查询 162

6.2.9使用JPA Query 163

6.2.10Example查询 166

第7章 Spring Boot配置 167

7.1配置Spring Boot 167

7.1.1服务器配置 167

7.1.2使用其他Web服务器 168

7.1.3配置启动信息 170

7.1.4配置浏览器显示ico 172

7.2日志配置 172

7.3读取应用配置 174

7.3.1Environment 175

7.3.2@Value 175

7.3.3@ConfiigurationProperties 176

7.4Spring Boot自动装配 177

7.4.1@Confiiguration和@Bean 177

7.4.2Bean条件装配 178

7.4.3Class条件装配 179

7.4.4Environment装配 179

7.4.5其他条件装配 180

7.4.6联合多个条件 180

7.4.7Condition接口 181

7.4.8制作Starter 183

第8章 部署Spring Boot应用 184

8.1以jar文件运行 184

8.2以war方式部署 186

8.3多环境部署 188

8.4@Profiile注解 190

第9章 Testing单元测试 192

9.1JUnit介绍 192

9.1.1JUnit的相关概念 192

9.1.2JUnit测试 193

9.1.3Assert 195

9.1.4Suite 195

9.2Spring Boot单元测试 196

9.2.1测试范围依赖 196

9.2.2Spring Boot测试脚手架 196

9.2.3测试Service 197

9.2.4测试MVC 200

9.2.5完成MVC请求模拟 201

9.2.6比较MVC的返回结果 202

9.2.7JSON比较 203

9.3Mockito 204

9.3.1模拟对象 205

9.3.2模拟方法参数 206

9.3.3模拟方法返回值 208

9.4面向数据库应用的单元测试 209

9.4.1@Sql 209

9.4.2XLSUnit 211

9.4.3XLSUnit的基本用法 212

第10章 REST 218

10.1REST简介 219

10.1.1REST风格的架构 220

10.1.2使用“api”作为上下文 220

10.1.3增加一个版本标识 221

10.1.4标识资源 221

10.1.5确定HTTP Method 221

10.1.6确定HTTP Status 223

10.1.7REST VS.WebService 223

10.2Spring Boot集成REST 224

10.2.1集成REST 224

10.2.2@RestController 224

10.2.3REST Client 226

10.3Swagger UI 230

10.3.1集成Swagger 230

10.3.2Swagger规范 232

10.3.3接口描述 233

10.3.4查询参数描述 234

10.3.5URI中的参数 235

10.3.6HTTP头参数 235

10.3.7表单参数 235

10.3.8文件上传参数 236

10.3.9整个请求体作为参数 236

10.4模拟REST服务 238

第11章 MongoDB 240

11.1安装MongoDB 240

11.2使用shell 241

11.2.1指定数据库 242

11.2.2插入文档 243

11.2.3查询文档 244

11.2.4更新操作 245

11.2.5删除操作 246

11.3Spring Boot集成MongoDB 246

11.4增删改查 247

11.4.1增加API 247

11.4.2根据主键查询API 248

11.4.3查询API 249

11.4.4修改API 250

11.4.5删除API 251

11.4.6使用MongoDatabse 251

11.4.7打印日志 253

第12章 Redis 254

12.1安装Redis 254

12.2使用redis-cli 255

12.2.1安全设置 256

12.2.2基本操作 256

12.2.3keys 257

12.2.4Redis List 258

12.2.5Redis Hash 260

12.2.6Set 261

12.2.7Pub/Sub 262

12.3Spring Boot集成Redis 264

12.4使用StringRedisTemplate 265

12.4.1opsFor 266

12.4.2绑定Key的操作 267

12.4.3RedisConnection 268

12.4.4Pub/Sub 269

12.5序列化策略 270

12.5.1默认序列化策略 272

12.5.2自定义序列化策略 273

第13章 Elasticsearch 276

13.1Elasticsearch介绍 276

13.1.1安装Elasticsearch 276

13.1.2Elasticsearch的基本概念 278

13.2使用REST访问Elasticsearch 279

13.2.1添加文档 279

13.2.2根据主键查询 281

13.2.3根据主键更新 281

13.2.4根据主键删除 283

13.2.5搜索文档 284

13.2.6联合多个索引搜索 287

13.3使用RestTemplate访问ES 288

13.3.1创建Book 288

13.3.2使用RestTemplate获取搜索结果 288

13.4Spring Data Elastic 290

13.4.1安装Spring Data 290

13.4.2编写Entity 291

13.4.3编写Dao 291

13.4.4编写Controller 293

第14章 Cache 295

14.1关于Cache 295

14.1.1Cache的组件和概念 296

14.1.2Cache的单体应用 296

14.1.3使用专有的Cache服务器 297

14.1.4使用一二级缓存服务器 298

14.2Spring Boot Cache 299

14.3注解驱动缓存 300

14.3.1@Cacheable 300

14.3.2Key生成器 301

14.3.3@CachePut 303

14.3.4@CacheEvict 304

14.3.5@Caching 305

14.3.6@CacheConfiig 305

14.4使用Redis Cache 305

14.4.1集成Redis缓存 305

14.4.2禁止缓存 306

14.4.3定制缓存 306

14.5Redis缓存原理 307

14.6实现Redis两级缓存 309

14.6.1实现TwoLevelCacheManager 309

14.6.2创建RedisAndLocalCache 310

14.6.3缓存同步说明 313

14.6.4将代码组合在一起 314

第15章 Spring Session 316

15.1水平扩展实现 316

15.2Nginx的安装和配置 318

15.2.1安装Nginx 318

15.2.2配置Ngin 319

15.3Spring Session 321

15.3.1Spring Session介绍 321

15.3.2使用Redis 322

15.3.3Nginx+Redis 324

第16章 Spring Boot和ZooKeeper 326

16.1ZooKeeper 327

16.1.1ZooKeeper的数据结构 327

16.1.2安装ZooKeeper 328

16.1.3ZooKeeper的基本命令 329

16.1.4领导选取演示 332

16.1.5分布式锁演示 333

16.1.6服务注册演示 333

16.2Spring Boot集成ZooKeeper 334

16.2.1集成Curator 335

16.2.2Curator API 336

16.3实现分布式锁 338

16.4服务注册 341

16.4.1通过ServiceDiscovery注册服务 341

16.4.2获取服务 342

16.5领导选取 343

第17章 监控Spring Boot应用 345

17.1安装Acutator 346

17.2HTTP跟踪 347

17.3日志查看 348

17.4线程栈信息 350

17.5内存信息 352

17.6查看URL映射 355

17.7查看Spring容器管理的Bean 355

17.8其他监控 356

17.9编写自己的监控信息 357

17.9.1编写HealthIndicator 357

17.9.2自定义监控 358