作者:
Craig Walls 沃尔斯
出版社: 人民邮电出版社
原作名: Spring in Action,Fourth Edition
译者: 张卫滨
出版年: 2016-4-1
页数: 577
定价: CNY 89.00
装帧: 平装
ISBN: 9787115417305
出版社: 人民邮电出版社
原作名: Spring in Action,Fourth Edition
译者: 张卫滨
出版年: 2016-4-1
页数: 577
定价: CNY 89.00
装帧: 平装
ISBN: 9787115417305
内容简介 · · · · · ·
《Spring实战(第4版)》是经典的、畅销的Spring学习和实践指南。
第4版针对Spring 4进行了全面更新。全书分为四部分。第1部分介绍Spring框架的核心知识。第二部分在此基础上介绍了如何使用Spring构建Web应用程序。第三部分告别前端,介绍了如何在应用程序的后端使用Spring。第四部分描述了如何使用Spring与其他的应用和服务进行集成。
《Spring实战(第4版)》适用于已具有一定Java 编程基础的读者,以及在Java 平台下进行各类软件开发的开发人员、测试人员,尤其适用于企业级Java 开发人员。本书既可以被刚开始学习Spring 的读者当作学习指南,也可以被那些想深入了解Spring 某方面功能的专业用户作为参考用书。
作者简介 · · · · · ·
Craig Walls是Pivotal的高级工程师,是Spring Social和Spring Sync的项目领导者,同时也是Manning出版社《Spring In Action》的作者,目前这本书已经更新到了第四版。他非常热心于Spring框架的推广,经常在当地的用户组和会议上演讲并在博客上撰写Spring相关的内容。在不琢磨代码的时候,Craig Walls会尽可能多地陪伴他的妻子、两个女儿、两只小鸟以及两只小狗。
目录 · · · · · ·
第1部分 Spring的核心
第1章 Spring之旅 3
1.1 简化Java开发 4
1.1.1 激发POJO的潜能 5
1.1.2 依赖注入 5
1.1.3 应用切面 11
· · · · · · (更多)
第1章 Spring之旅 3
1.1 简化Java开发 4
1.1.1 激发POJO的潜能 5
1.1.2 依赖注入 5
1.1.3 应用切面 11
· · · · · · (更多)
第1部分 Spring的核心
第1章 Spring之旅 3
1.1 简化Java开发 4
1.1.1 激发POJO的潜能 5
1.1.2 依赖注入 5
1.1.3 应用切面 11
1.1.4 使用模板消除样板式代码 16
1.2 容纳你的Bean 18
1.2.1 使用应用上下文 19
1.2.2 bean的生命周期 20
1.3 俯瞰Spring风景线 21
1.3.1 Spring模块 22
1.3.2 Spring Portfolio 24
1.4 Spring的新功能 27
1.4.1 Spring 3.1新特性 27
1.4.2 Spring 3.2新特性 28
1.4.3 Spring 4.0新特性 30
1.5 小结 30
第2章 装配Bean 33
2.1 Spring配置的可选方案 34
2.2 自动化装配bean 35
2.2.1 创建可被发现的bean 35
2.2.2 为组件扫描的bean命名 38
2.2.3 设置组件扫描的基础包 39
2.2.4 通过为bean添加注解实现自动装配 40
2.2.5 验证自动装配 42
2.3 通过Java代码装配
bean 44
2.3.1 创建配置类 44
2.3.2 声明简单的bean 45
2.3.3 借助JavaConfig实现注入 46
2.4 通过XML装配bean 48
2.4.1 创建XML配置规范 48
2.4.2 声明一个简单的
[bean] 49
2.4.3 借助构造器注入初始化bean 50
2.4.4 设置属性 56
2.5 导入和混合配置 61
2.5.1 在JavaConfig中引用XML配置 61
2.5.2 在XML配置中引用JavaConfig 63
2.6 小结 65
第3章 高级装配 67
3.1 环境与profile 67
3.1.1 配置profile bean 69
3.1.2 激活profile 73
3.2 条件化的bean 75
3.3 处理自动装配的歧义性 78
3.3.1 标示首选的bean 79
3.3.2 限定自动装配的bean 80
3.4 bean的作用域 84
3.4.1 使用会话和请求作用域 86
3.4.2 在XML中声明作用域代理 88
3.5 运行时值注入 88
3.5.1 注入外部的值 89
3.5.2 使用Spring表达式语言进行装配 93
3.6 小结 99
第4章 面向切面的Spring 101
4.1 什么是面向切面编程? 102
4.1.1 定义AOP术语 103
4.1.2 Spring对AOP的支持 105
4.2 通过切点来选择连接点 107
4.2.1 编写切点 108
4.2.2 在切点中选择bean 109
4.3 使用注解创建切面 109
4.3.1 定义切面 110
4.3.2 创建环绕通知 114
4.3.3 处理通知中的参数 115
4.3.4 通过注解引入新功能 118
4.4 在XML中声明切面 120
4.4.1 声明前置和后置通知 122
4.4.2 声明环绕通知 124
4.4.3 为通知传递参数 125
4.4.4 通过切面引入新的功能 127
4.5 注入AspectJ切面 128
4.5 小结 131
第2部分 Web中的Spring
第5章 构建Spring Web应用程序 135
5.1 Spring MVC起步 136
5.1.1 跟踪Spring MVC的请求 136
5.1.2 搭建Spring MVC 138
5.1.3 Spittr应用简介 142
5.2 编写基本的控制器 143
5.2.1 测试控制器 145
5.2.2 定义类级别的请求处理 146
5.2.3 传递模型数据到视图中 147
5.3 接受请求的输入 153
5.3.1 处理查询参数 153
5.3.2 通过路径参数接受输入 155
5.4 处理表单 157
5.4.1 编写处理表单的控制器 160
5.4.2 校验表单 163
5.5 小结 166
第6章 渲染Web视图 167
6.1 理解视图解析 167
6.2 创建JSP视图 170
6.2.1 配置适用于JSP的视图解析器 170
6.2.2 使用Spring的JSP库 172
6.3 使用Apache Tiles视图定义布局 184
6.3.1 配置Tiles视图解析器 185
6.4 使用Thymeleaf 190
6.4.1 配置Thymeleaf视图解析器 190
6.4.2 定义Thymeleaf模板 192
6.5 小结 196
第7章 Spring MVC的高级技术 197
7.1 Spring MVC配置的替代方案 198
7.1.1 自定义DispatcherServlet配置 198
7.1.2 添加其他的Servlet和Filter 199
7.1.3 在web.xml中声明DispatcherServlet 201
7.2 处理multipart形式的数据 204
7.2.1 配置multipart解析器 205
7.2.2 处理multipart请求 208
7.3 处理异常 212
7.3.1 将异常映射为HTTP状态码 213
7.3.2 编写异常处理的方法 214
7.4 为控制器添加通知 216
7.5 跨重定向请求传递数据 217
7.5.1 通过URL模板进行重定向 218
7.5.2 使用flash属性 219
7.6 小结 221
第8章 使用Spring WebFlow 223
8.1 在Spring中配置Web Flow 224
8.1.1 装配流程执行器 224
8.1.2 配置流程注册表 224
8.1.3 处理流程请求 225
8.2 流程的组件 226
8.2.1 状态 226
8.2.2 转移 230
8.2.3 流程数据 231
8.3 组合起来:披萨流程 232
8.3.1 定义基本流程 233
8.3.2 收集顾客信息 236
8.3.2 构建订单 242
8.3.2 支付 244
8.4 保护Web流程 246
8.5 小结 246
第9章 保护Web应用 249
9.1 Spring Security简介 250
9.1.1 理解Spring Security的模块 250
9.1.2 过滤Web请求 251
9.1.3 编写简单的安全性配置 252
9.2 选择查询用户详细信息的服务 255
9.2.1使用基于内存的用户存储 255
9.2.2 基于数据库表进行认证 257
9.2.3 基于LDAP进行认证 259
9.2.4 配置自定义的用户服务 263
9.3 拦截请求 265
9.3.1 使用Spring表达式进行安全保护 267
9.3.2 强制通道的安全性 269
9.3.3 防止跨站请求伪造 270
9.4 认证用户 271
9.4.1 添加自定义的登录页 272
9.4.2 启用HTTP Basic认证 274
9.4.3 启用Remember-me功能 274
9.4.4 退出 275
9.5 保护视图 276
9.5.1 使用Spring Security的JSP标签库 276
9.5.2 使用Thymeleaf的SpringSecurity方言 280
9.6 小结 281
第3部分 后端中的Spring
第10章 通过Spring和JDBC征服数据库 285
10.1 Spring的数据访问哲学 286
10.1.1 了解Spring的数据访问异常体系 287
10.1.2 数据访问模板化 289
10.2 配置数据源 291
10.2.1 使用JNDI数据源 292
10.2.2 使用数据源连接池 292
10.2.3 基于JDBC驱动的数据源 294
10.2.4 使用嵌入式的数据源 295
10.2.5 使用profile选择数据源 296
10.3 在Spring中使用
JDBC 298
10.3.1 应对失控的JDBC代码 299
10.3.2 使用JDBC模板 302
10.4 小结 307
第11章 使用对象-关系映射持久化数据 309
11.1 在Spring中集成Hibernate 310
11.1.1 声明Hibernate的Session工厂 311
11.1.2 构建不依赖于Spring的Hibernate代码 313
11.2 Spring与Java持久化API 315
11.2.1 配置实体管理器工厂 315
11.2.2 编写基于JPA的Repository 320
11.3 借助Spring Data实现自动化的JPA Repository 322
11.3.1 定义查询方法 325
11.3.2 声明自定义查询 328
11.3.3 混合自定义的功能 329
11.4 小结 330
第12章 使用NoSQL数据库 333
12.1 使用MongoDB持久化文档数据 334
12.1.1 启用MongoDB 335
12.1.2 为模型添加注解,实现MongoDB持久化 338
12.1.3 使用MongoTemplate访问MongoDB 341
12.1.4 编写MongoDBRepository 342
12.2 使用Neo4j操作图数据 347
12.2.1 配置Spring DataNeo4j 347
12.2.2 使用注解标注图实体 350
12.2.3 使用Neo4jTemplate 353
12.2.4 创建自动化的Neo4j Repository 354
12.3 使用Redis操作key-value数据 359
12.3.1 连接到Redis 359
12.3.2 使用RedisTemplate 360
12.3.3 使用key和value的序列化器 364
12.4 小结 365
第13章 缓存数据 367
13.1 启用对缓存的支持 368
13.1.1 配置缓存管理器 369
13.2 为方法添加注解以支持缓存 373
13.2.1 填充缓存 374
13.2.2 移除缓存条目 378
13.3 使用XML声明缓存 379
13.4 小结 383
第14章 保护方法应用 385
14.1 使用注解保护方法 386
14.1.1 使用@Secured注解限制方法调用 386
14.1.2 在Spring Security中使用
JSR-250的@RolesAllowed注解 387
14.2 使用表达式实现方法级别的安全性 388
14.2.1 表述方法访问规则 389
14.2.2 过滤方法的输入和输出 391
14.3 小结 395
第4部分 Spring集成
第15章 使用远程服务 399
15.1 Spring远程调用概览 400
15.2 使用RMI 402
15.2.1 导出RMI服务 403
15.2.2 装配RMI服务 405
15.3 使用Hessian和Burlap发布远程服务 407
15.3.1 使用Hessian和Burlap导出bean的功能 408
15.3.2 访问Hessian/Burlap服务 411
15.4 使用Spring的HttpInvoker 413
15.4.1 将bean导出为HTTP服务 413
15.4.2 通过HTTP访问服务 414
15.5 发布和使用Web服务 416
15.5.1 创建基于Spring的JAX-WS端点 416
15.5.2 在客户端代理JAX-WS服务 419
15.6 小结 421
第16章 使用Spring MVC创建REST API 423
16.1 了解REST 424
16.1.1 REST的基础知识 424
16.1.2 Spring是如何支持REST的 425
16.2 创建第一个REST端点 426
16.2.1 协商资源表述 428
16.2.2 使用HTTP信息转换器 433
16.3 提供资源之外的其他内容 438
16.3.1 发送错误信息到客户端 438
16.3.2 在响应中设置头部信息 443
16.4 编写REST客户端 445
16.4.1 了解RestTemplate的操作 446
16.4.2 GET资源 447
16.4.3 检索资源 448
16.4.4 抽取响应的元数据 449
16.4.5 PUT资源 450
16.4.6 DELETE资源 451
16.4.7 POST资源数据 452
16.4.8 在POST请求中获取响应对象 452
16.4.9 在POST请求后获取资源位置 453
16.4.10 交换资源 454
16.5 小结 456
第17章 Spring消息 457
17.1 异步消息简介 458
17.1.1 发送消息 459
17.1.2 评估异步消息的优点 461
17.2 使用JMS发送消息 463
17.2.1 在Spring中搭建消息代理 463
17.2.2 使用Spring的JMS模板 465
17.2.3 创建消息驱动的POJO 474
17.2.4 使用基于消息的RPC 477
17.3 使用AMQP实现消息功能 479
17.3.1 AMQP简介 480
17.3.2 配置Spring支持AMQP消息 481
17.3.3 使用RabbitTemplate发送消息 484
17.3.4 接收AMQP消息 486
17.4 小结 489
第18章 使用WebSocket和STOMP实现消息功能 491
18.1 使用Spring的低层级WebSocket API 492
18.2 应对不支持WebSocket的场景 497
18.3 使用STOMP消息 500
18.3.1 启用STOMP消息功能 501
18.3.2 处理来自客户端的STOMP消息 504
18.3.3 发送消息到客户端 507
18.4 为目标用户发送消息 511
18.4.1 在控制器中处理用户的消息 512
18.4.2 为指定用户发送消息 514
18.5 处理消息异常 515
18.6 小结 516
第19章 使用Spring发送Email 517
19.1 配置Spring发送邮件 518
19.1.1 配置邮件发送器 518
19.1.2 装配和使用邮件发送器 520
19.2 构建丰富内容的Email消息 521
19.2.1 添加附件 521
19.2.2 发送富文本内容的Email 522
19.3 使用模板生成Email 524
19.3.1 使用Velocity构建Email消息 524
19.3.2 使用Thymeleaf构建Email消息 526
19.4 小结 528
第20章 使用JMX管理Spring Bean 529
20.1 将Spring bean导出为MBean 530
20.1.1 通过名称暴露方法 533
20.1.2 使用接口定义MBean的操作和属性 535
20.1.3 使用注解驱动的MBean 536
20.1.4 处理MBean冲突 538
20.2 远程MBean 539
20.2.1 暴露远程MBean 539
20.2.2 访问远程MBean 540
20.2.3 代理MBean 542
20.3 处理通知 543
20.3.1 监听通知 544
20.4 小结 545
第21章 借助Spring Boot简化Spring开发 547
21.1 Spring Boot简介 548
21.1.1 添加Starter依赖 548
21.1.2 自动配置 552
21.1.3 Spring Boot CLI 552
21.1.4 Actuator 553
21.2 使用Spring Boot构建应用 553
21.2.1 处理请求 556
21.2.2 创建视图 558
21.2.3 添加静态内容 560
21.2.4 持久化数据 561
21.2.5 尝试运行 563
21.3 组合使用Groovy与SpringBoot CLI 566
21.3.1 编写Groovy控制器 566
21.3.2 使用Groovy Repository实现数据持久化 569
21.3.3 运行Spring Boot CLI 570
21.4 通过Actuator获取了解应用内部状况 571
21.5 小结 574
· · · · · · (收起)
第1章 Spring之旅 3
1.1 简化Java开发 4
1.1.1 激发POJO的潜能 5
1.1.2 依赖注入 5
1.1.3 应用切面 11
1.1.4 使用模板消除样板式代码 16
1.2 容纳你的Bean 18
1.2.1 使用应用上下文 19
1.2.2 bean的生命周期 20
1.3 俯瞰Spring风景线 21
1.3.1 Spring模块 22
1.3.2 Spring Portfolio 24
1.4 Spring的新功能 27
1.4.1 Spring 3.1新特性 27
1.4.2 Spring 3.2新特性 28
1.4.3 Spring 4.0新特性 30
1.5 小结 30
第2章 装配Bean 33
2.1 Spring配置的可选方案 34
2.2 自动化装配bean 35
2.2.1 创建可被发现的bean 35
2.2.2 为组件扫描的bean命名 38
2.2.3 设置组件扫描的基础包 39
2.2.4 通过为bean添加注解实现自动装配 40
2.2.5 验证自动装配 42
2.3 通过Java代码装配
bean 44
2.3.1 创建配置类 44
2.3.2 声明简单的bean 45
2.3.3 借助JavaConfig实现注入 46
2.4 通过XML装配bean 48
2.4.1 创建XML配置规范 48
2.4.2 声明一个简单的
[bean] 49
2.4.3 借助构造器注入初始化bean 50
2.4.4 设置属性 56
2.5 导入和混合配置 61
2.5.1 在JavaConfig中引用XML配置 61
2.5.2 在XML配置中引用JavaConfig 63
2.6 小结 65
第3章 高级装配 67
3.1 环境与profile 67
3.1.1 配置profile bean 69
3.1.2 激活profile 73
3.2 条件化的bean 75
3.3 处理自动装配的歧义性 78
3.3.1 标示首选的bean 79
3.3.2 限定自动装配的bean 80
3.4 bean的作用域 84
3.4.1 使用会话和请求作用域 86
3.4.2 在XML中声明作用域代理 88
3.5 运行时值注入 88
3.5.1 注入外部的值 89
3.5.2 使用Spring表达式语言进行装配 93
3.6 小结 99
第4章 面向切面的Spring 101
4.1 什么是面向切面编程? 102
4.1.1 定义AOP术语 103
4.1.2 Spring对AOP的支持 105
4.2 通过切点来选择连接点 107
4.2.1 编写切点 108
4.2.2 在切点中选择bean 109
4.3 使用注解创建切面 109
4.3.1 定义切面 110
4.3.2 创建环绕通知 114
4.3.3 处理通知中的参数 115
4.3.4 通过注解引入新功能 118
4.4 在XML中声明切面 120
4.4.1 声明前置和后置通知 122
4.4.2 声明环绕通知 124
4.4.3 为通知传递参数 125
4.4.4 通过切面引入新的功能 127
4.5 注入AspectJ切面 128
4.5 小结 131
第2部分 Web中的Spring
第5章 构建Spring Web应用程序 135
5.1 Spring MVC起步 136
5.1.1 跟踪Spring MVC的请求 136
5.1.2 搭建Spring MVC 138
5.1.3 Spittr应用简介 142
5.2 编写基本的控制器 143
5.2.1 测试控制器 145
5.2.2 定义类级别的请求处理 146
5.2.3 传递模型数据到视图中 147
5.3 接受请求的输入 153
5.3.1 处理查询参数 153
5.3.2 通过路径参数接受输入 155
5.4 处理表单 157
5.4.1 编写处理表单的控制器 160
5.4.2 校验表单 163
5.5 小结 166
第6章 渲染Web视图 167
6.1 理解视图解析 167
6.2 创建JSP视图 170
6.2.1 配置适用于JSP的视图解析器 170
6.2.2 使用Spring的JSP库 172
6.3 使用Apache Tiles视图定义布局 184
6.3.1 配置Tiles视图解析器 185
6.4 使用Thymeleaf 190
6.4.1 配置Thymeleaf视图解析器 190
6.4.2 定义Thymeleaf模板 192
6.5 小结 196
第7章 Spring MVC的高级技术 197
7.1 Spring MVC配置的替代方案 198
7.1.1 自定义DispatcherServlet配置 198
7.1.2 添加其他的Servlet和Filter 199
7.1.3 在web.xml中声明DispatcherServlet 201
7.2 处理multipart形式的数据 204
7.2.1 配置multipart解析器 205
7.2.2 处理multipart请求 208
7.3 处理异常 212
7.3.1 将异常映射为HTTP状态码 213
7.3.2 编写异常处理的方法 214
7.4 为控制器添加通知 216
7.5 跨重定向请求传递数据 217
7.5.1 通过URL模板进行重定向 218
7.5.2 使用flash属性 219
7.6 小结 221
第8章 使用Spring WebFlow 223
8.1 在Spring中配置Web Flow 224
8.1.1 装配流程执行器 224
8.1.2 配置流程注册表 224
8.1.3 处理流程请求 225
8.2 流程的组件 226
8.2.1 状态 226
8.2.2 转移 230
8.2.3 流程数据 231
8.3 组合起来:披萨流程 232
8.3.1 定义基本流程 233
8.3.2 收集顾客信息 236
8.3.2 构建订单 242
8.3.2 支付 244
8.4 保护Web流程 246
8.5 小结 246
第9章 保护Web应用 249
9.1 Spring Security简介 250
9.1.1 理解Spring Security的模块 250
9.1.2 过滤Web请求 251
9.1.3 编写简单的安全性配置 252
9.2 选择查询用户详细信息的服务 255
9.2.1使用基于内存的用户存储 255
9.2.2 基于数据库表进行认证 257
9.2.3 基于LDAP进行认证 259
9.2.4 配置自定义的用户服务 263
9.3 拦截请求 265
9.3.1 使用Spring表达式进行安全保护 267
9.3.2 强制通道的安全性 269
9.3.3 防止跨站请求伪造 270
9.4 认证用户 271
9.4.1 添加自定义的登录页 272
9.4.2 启用HTTP Basic认证 274
9.4.3 启用Remember-me功能 274
9.4.4 退出 275
9.5 保护视图 276
9.5.1 使用Spring Security的JSP标签库 276
9.5.2 使用Thymeleaf的SpringSecurity方言 280
9.6 小结 281
第3部分 后端中的Spring
第10章 通过Spring和JDBC征服数据库 285
10.1 Spring的数据访问哲学 286
10.1.1 了解Spring的数据访问异常体系 287
10.1.2 数据访问模板化 289
10.2 配置数据源 291
10.2.1 使用JNDI数据源 292
10.2.2 使用数据源连接池 292
10.2.3 基于JDBC驱动的数据源 294
10.2.4 使用嵌入式的数据源 295
10.2.5 使用profile选择数据源 296
10.3 在Spring中使用
JDBC 298
10.3.1 应对失控的JDBC代码 299
10.3.2 使用JDBC模板 302
10.4 小结 307
第11章 使用对象-关系映射持久化数据 309
11.1 在Spring中集成Hibernate 310
11.1.1 声明Hibernate的Session工厂 311
11.1.2 构建不依赖于Spring的Hibernate代码 313
11.2 Spring与Java持久化API 315
11.2.1 配置实体管理器工厂 315
11.2.2 编写基于JPA的Repository 320
11.3 借助Spring Data实现自动化的JPA Repository 322
11.3.1 定义查询方法 325
11.3.2 声明自定义查询 328
11.3.3 混合自定义的功能 329
11.4 小结 330
第12章 使用NoSQL数据库 333
12.1 使用MongoDB持久化文档数据 334
12.1.1 启用MongoDB 335
12.1.2 为模型添加注解,实现MongoDB持久化 338
12.1.3 使用MongoTemplate访问MongoDB 341
12.1.4 编写MongoDBRepository 342
12.2 使用Neo4j操作图数据 347
12.2.1 配置Spring DataNeo4j 347
12.2.2 使用注解标注图实体 350
12.2.3 使用Neo4jTemplate 353
12.2.4 创建自动化的Neo4j Repository 354
12.3 使用Redis操作key-value数据 359
12.3.1 连接到Redis 359
12.3.2 使用RedisTemplate 360
12.3.3 使用key和value的序列化器 364
12.4 小结 365
第13章 缓存数据 367
13.1 启用对缓存的支持 368
13.1.1 配置缓存管理器 369
13.2 为方法添加注解以支持缓存 373
13.2.1 填充缓存 374
13.2.2 移除缓存条目 378
13.3 使用XML声明缓存 379
13.4 小结 383
第14章 保护方法应用 385
14.1 使用注解保护方法 386
14.1.1 使用@Secured注解限制方法调用 386
14.1.2 在Spring Security中使用
JSR-250的@RolesAllowed注解 387
14.2 使用表达式实现方法级别的安全性 388
14.2.1 表述方法访问规则 389
14.2.2 过滤方法的输入和输出 391
14.3 小结 395
第4部分 Spring集成
第15章 使用远程服务 399
15.1 Spring远程调用概览 400
15.2 使用RMI 402
15.2.1 导出RMI服务 403
15.2.2 装配RMI服务 405
15.3 使用Hessian和Burlap发布远程服务 407
15.3.1 使用Hessian和Burlap导出bean的功能 408
15.3.2 访问Hessian/Burlap服务 411
15.4 使用Spring的HttpInvoker 413
15.4.1 将bean导出为HTTP服务 413
15.4.2 通过HTTP访问服务 414
15.5 发布和使用Web服务 416
15.5.1 创建基于Spring的JAX-WS端点 416
15.5.2 在客户端代理JAX-WS服务 419
15.6 小结 421
第16章 使用Spring MVC创建REST API 423
16.1 了解REST 424
16.1.1 REST的基础知识 424
16.1.2 Spring是如何支持REST的 425
16.2 创建第一个REST端点 426
16.2.1 协商资源表述 428
16.2.2 使用HTTP信息转换器 433
16.3 提供资源之外的其他内容 438
16.3.1 发送错误信息到客户端 438
16.3.2 在响应中设置头部信息 443
16.4 编写REST客户端 445
16.4.1 了解RestTemplate的操作 446
16.4.2 GET资源 447
16.4.3 检索资源 448
16.4.4 抽取响应的元数据 449
16.4.5 PUT资源 450
16.4.6 DELETE资源 451
16.4.7 POST资源数据 452
16.4.8 在POST请求中获取响应对象 452
16.4.9 在POST请求后获取资源位置 453
16.4.10 交换资源 454
16.5 小结 456
第17章 Spring消息 457
17.1 异步消息简介 458
17.1.1 发送消息 459
17.1.2 评估异步消息的优点 461
17.2 使用JMS发送消息 463
17.2.1 在Spring中搭建消息代理 463
17.2.2 使用Spring的JMS模板 465
17.2.3 创建消息驱动的POJO 474
17.2.4 使用基于消息的RPC 477
17.3 使用AMQP实现消息功能 479
17.3.1 AMQP简介 480
17.3.2 配置Spring支持AMQP消息 481
17.3.3 使用RabbitTemplate发送消息 484
17.3.4 接收AMQP消息 486
17.4 小结 489
第18章 使用WebSocket和STOMP实现消息功能 491
18.1 使用Spring的低层级WebSocket API 492
18.2 应对不支持WebSocket的场景 497
18.3 使用STOMP消息 500
18.3.1 启用STOMP消息功能 501
18.3.2 处理来自客户端的STOMP消息 504
18.3.3 发送消息到客户端 507
18.4 为目标用户发送消息 511
18.4.1 在控制器中处理用户的消息 512
18.4.2 为指定用户发送消息 514
18.5 处理消息异常 515
18.6 小结 516
第19章 使用Spring发送Email 517
19.1 配置Spring发送邮件 518
19.1.1 配置邮件发送器 518
19.1.2 装配和使用邮件发送器 520
19.2 构建丰富内容的Email消息 521
19.2.1 添加附件 521
19.2.2 发送富文本内容的Email 522
19.3 使用模板生成Email 524
19.3.1 使用Velocity构建Email消息 524
19.3.2 使用Thymeleaf构建Email消息 526
19.4 小结 528
第20章 使用JMX管理Spring Bean 529
20.1 将Spring bean导出为MBean 530
20.1.1 通过名称暴露方法 533
20.1.2 使用接口定义MBean的操作和属性 535
20.1.3 使用注解驱动的MBean 536
20.1.4 处理MBean冲突 538
20.2 远程MBean 539
20.2.1 暴露远程MBean 539
20.2.2 访问远程MBean 540
20.2.3 代理MBean 542
20.3 处理通知 543
20.3.1 监听通知 544
20.4 小结 545
第21章 借助Spring Boot简化Spring开发 547
21.1 Spring Boot简介 548
21.1.1 添加Starter依赖 548
21.1.2 自动配置 552
21.1.3 Spring Boot CLI 552
21.1.4 Actuator 553
21.2 使用Spring Boot构建应用 553
21.2.1 处理请求 556
21.2.2 创建视图 558
21.2.3 添加静态内容 560
21.2.4 持久化数据 561
21.2.5 尝试运行 563
21.3 组合使用Groovy与SpringBoot CLI 566
21.3.1 编写Groovy控制器 566
21.3.2 使用Groovy Repository实现数据持久化 569
21.3.3 运行Spring Boot CLI 570
21.4 通过Actuator获取了解应用内部状况 571
21.5 小结 574
· · · · · · (收起)
喜欢读"Spring实战(第4版)"的人也喜欢的电子书 · · · · · ·
支持 Web、iPhone、iPad、Android 阅读器
喜欢读"Spring实战(第4版)"的人也喜欢 · · · · · ·
- Java 8实战 9.0
- 深入理解Java虚拟机(第2版) 9.1
- Netty实战 7.5
- 代码整洁之道 8.6
- Groovy程序设计 8.0
- 图解Java多线程设计模式 9.0
- Redis实战 8.0
Spring实战(第4版)的书评 · · · · · · ( 全部 39 条 )
翻译差点可以忍 出版社编辑太垃圾了
我就纳闷了 都第六次印刷了 先不说翻译的问题 刚刚翻到36页 就看到了3处 错别字和拼写错误 能不能改正下啊 出版社能不能端正下态度啊 这么好的一本书 就这么让翻译和出版社毁了 真是无语了! 我看过不少人民邮电出版社出的书 都是这样 其实错别字还好 这种代码书就怕后面...
(展开)
Spring很好的入门书籍
一本书写到第三版,除了经典书籍估计很少能做到这一点。 本书就像作者说的一样,Spring经过这几年的飞速发展,已经形成了多个Projects,要想在一本书中都涉及的确是不可能的了。Manning就出了如Spring Batch in Action,Spring Roo in Action这样的书籍。 因此本书和其他的再版...
(展开)
总的来说不错,质量方面比较雷
推荐序里面提到了什么骑士之类,但是书中的例子就第一章有骑士,估计写序那人也就读了读第一章就仓促下笔了吧。谁叫大家都很忙呢。 翻译质量因为没看英文原版所以不知道,但是单词拼写错误以及汉字错别字确实在后几章相当严重,印象一下子就掉下来了。
(展开)
把一本好书给翻烂了!
特别是第13章,错别字太多,可能是使用拼音输入法的原因吧。更可恨的是把函数名也写错了:13.1.3 把handleRequestInternal写成了handleRequest,害人不浅啊! 确实需要边看英文原文边看中文版。
(展开)
关于Spring的新华字典
《Spring in Action》是一本关于Spring的最基本介绍的书。这本书的定位就相当于是关于Spring的新华字典,只有一些基本概念的介绍和示例,涵盖了Spring的各个方面,但都不够深入。就像作者在最后一页写的那样:“学习Spring,这才刚刚开始”。 Can't agree more. Spring的博大精...
(展开)
一本不错的关于Spring的书籍
最初学习spring一直在看官方文档和源码,这本书是从蔡学镛微博里发现的,后来觉得这本书封面比较吸引我,就买了本。这本书确实写的不错,老外的写作思路就是那么奇特,骑士、奥特玛、小怪兽。。。。只可惜中国的作者或许短时间脑袋没这么灵光,想不出这种笔锋来描绘一件事物,...
(展开)
> 更多书评 39篇
论坛 · · · · · ·
第四版的第四章的源码,找了好多都没有,谁那里有... | 来自fanchaoo | 1 回应 | 2016-10-27 17:08:24 |
这本书的其他版本 · · · · · · ( 全部12 )
-
Manning Publications (2011)8.4分 100人读过
-
人民邮电出版社 (2006)7.4分 396人读过
-
人民邮电出版社 (2013)8.0分 268人读过
-
人民邮电出版社 (2008)7.7分 220人读过
以下书单推荐 · · · · · · ( 全部 )
- Web编程与设计 (敏子爱书)
- 3.Java (葡萄)
- java高级软件工程师 (猫王)
- 计算机专业必读经典书籍(知乎整理) (草莓)
- (极客时间)左耳听风专栏推荐书单 (Gunilla)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
订阅关于Spring实战(第4版)的评论:
feed: rss 2.0
1 有用 Laisky 2018-07-11 14:28:58
先用五章详细介绍了 Spring 的细节,然后又针对常见的应用进行了细致的讲解,确实对得起实战之名。前面读的比较细,后面应用类就大致翻着看了一遍。
13 有用 绯青 2018-04-18 10:56:18
全书知识深度较浅, 但非常权威(针对Sp5.0会有部分过时内容), 且能够在如此有限的篇幅中覆盖如此广阔的内容, 实属不易也实属罕见. 第1部分(DI、AOP):稳扎稳打,巩固基础; 第2部分(Web):MVC最传统, 最精华, 也是最实用的部分. 第3部分(存储):SQL、NoSQL, 各种酷炫吊炸天的操作, 优化(简化)到极致的存储代码... 不得不服! 另外@Secured保护方法调用也绝对... 全书知识深度较浅, 但非常权威(针对Sp5.0会有部分过时内容), 且能够在如此有限的篇幅中覆盖如此广阔的内容, 实属不易也实属罕见. 第1部分(DI、AOP):稳扎稳打,巩固基础; 第2部分(Web):MVC最传统, 最精华, 也是最实用的部分. 第3部分(存储):SQL、NoSQL, 各种酷炫吊炸天的操作, 优化(简化)到极致的存储代码... 不得不服! 另外@Secured保护方法调用也绝对一大亮点(如果你能够遇到一次安全故障, 你会深刻认同我的说法(⊙﹏⊙)b). 第4部分(集成):与各种企业级服务集成, 同步:RPC、Rest; 异步: MQ、WebSocket、Email;管理: JMX... 哪些曾经想所未想、见所未见的技术, Spring已经帮你实现, 给你提供工具了. (展开)
1 有用 chenkuning 2017-08-21 13:11:49
Spring 已经成为了一个巨大的生态
1 有用 少正卯 2017-05-07 16:10:11
入门书籍,适合懒人。
2 有用 acAric 2016-12-22 22:43:39
基本上涵盖了spring的方方面面。spring已经占据java的大半江山了,特别是出了spring boot之后,更加易用。又基于boot适用于最新的微服务架构,配合cloud,搭建分布式集群架构。spring在未来几年依然会走在前列,并且地位越来越重要稳固。这本书中也结合讲了boot,以及mq的应用,很全面。可以当做参考书,只是最新的spring cloud没有讲到,遗憾。
0 有用 wcc 2023-12-15 01:20:08 四川
全是基础内容,不如看B站
0 有用 兔子队列 2023-07-10 14:03:03 浙江
非常棒,区别和第6版挺大 更注重基础,数据访问哲学讲的尤其巧妙
0 有用 苏霍壹 2023-06-29 10:24:09 上海
不错
0 有用 AimeeLi 2023-03-19 12:19:03 山东
@2019-07-30 08:55:11
0 有用 Zachary 2023-03-14 22:31:11 上海
2023-05 浅显易懂