文件大小:28.38 MB
文件类型:pdf
发布时间:2021-08-24 16:33:46
需资源分:2
下载次数:1
Tag:Spring5高级编程 第5版
::资源简介::
Spring 5高级编程(第5版)涵盖核心的Spring 及其与其他领先的Java 技术(比如Hibernate、JPA 2、Tiles、Thymeleaf 和WebSocket)的集成。重点介绍如何使用Java 配置类、lambda 表达式、Spring Boot 以及反应式编程。同时,将与企业级应用程序开发人员分享一些见解和实际经验,包括远程处理、事务、Web 和表示层,等等。
通过学习,你可以学习如何完成以下事情:
● 使用控制反转(IoC)和依赖注入(DI)。
● 了解Spring 5 中的新功能。
● 使用Spring MVC 和WebSocket 构建基于Spring 的Web 应用程序。
● 使用Spring WebFlux 构建Spring Web 反应式应用程序。
● 使用JUnit 5 测试Spring 应用程序。
● 使用新的Java 8 lambda 语法。
● 使用Spring Boot 达到更高的水平,以获取任何类型的Spring 应用程序并立即运行。
● 在Spring 应用程序中使用Java 9 的新功能
Spring5高级编程[第5版],1
目录,1
第01章 Spring介绍,6
1_1 什么是Spring,6
1_1_1 Spring框架的演变,6
1_1_2 翻转控制或依赖注入,10
1_1_3 依赖注入的演变,11
1_1_4 除了依赖注入,12
1_2 Spring项目,15
1_2_1 Spring的起源,15
1_2_2 Spring社区,15
1_2_3 Spring工具套件,16
1_2_4 Spring Security项目,16
1_2_5 Spring Boot,16
1_2_6 Spring批处理和集成,16
1_2_7 许多其他项目,16
1_3 Spring的替代品,17
1_3_1 JBoss Seam框架,17
1_3_2 Google Guice,17
1_3_3 PicoContainer,17
1_3_4 JEE 7容器,17
1_4 小结,17
第02章 入门,18
2_1 获取Spring框架,18
2_1_1 快速入门,18
2_1_2 在GitHub中查找Spring,19
2_1_3 使用正确的JDK,19
2_2 了解Spring打包,19
2_2_1 为自己的应用程序选择模块,20
2_2_2 在Maven存储库上访问Spring模块,20
2_2_3 使用Gradle访问Spring模块,21
2_2_4 使用Spring文档,22
2_2_5 将Spring放入Hello World中,22
2_2_6 构建示例Hello World应用程序,22
2_2_7 用Spring重构,25
2_3 小结,27
第03章 在Spring中引入IoC和DI,28
3_1 控制反转和依赖注入,28
3_2 控制反转的类型,28
3_2_1 依赖拉取,29
3_2_2 上下文依赖查找,29
3_2_3 构造函数依赖注入,30
3_2_4 setter依赖注入,30
3_2_5 注入与查找,30
3_2_6 setter注入与构造函数注入,31
3_3 Spring中的控制反转,33
3_4 Spring中的依赖注入,33
3_4_1 bean和BeanFactory,33
3_4_2 BeanFactory实现,34
3_4_3 ApplicationContext,35
3_5 配置ApplicationContext,35
3_5_1 设置Spring配置选项,35
3_5_2 基本配置概述,35
3_5_3 声明Spring组件,36
3_5_4 使用方法注入,58
3_5_5 了解bean命名,65
3_5_6 了解bean实例化模式,71
3_6 解析依赖项,74
3_7 自动装配bean,76
3_8 设置bean继承,82
3_9 小结,84
第04章 详述Spring配置和Spring Boot,85
4_1 Spring对应用程序可移植性的影响,85
4_2 管理bean生命周期,86
4_3 挂钩到bean的创建,87
4_3_1 在创建bean时执行方法,87
4_3_2 实现InitializingBean接口,89
4_3_3 使用JSR-250 @PostConstruct注解,91
4_4 使用@Bean声明一个初始化方法,93
4_5 挂钩到bean的销毁,94
4_5_1 在bean被销毁时执行一个方法,94
4_5_2 实现DisposableBean接口,96
4_5_3 使用JSR-250 @PreDestroy注解,97
4_6 使用@Bean声明销毁方法,98
4_7 了解解析的顺序,99
4_8 让Spring感知bean,99
4_8_1 使用BeanNameAware接口,100
4_8_2 使用ApplicationContextAware接口,101
4_9 使用FactoryBean,102
4_10 直接访问FactoryBean,105
4_11 使用factory-bean和factory-method属性,106
4_12 JavaBean PropertyEditor,107
4_12_1 使用内置的PropertyEditor,107
4_12_2 创建自定义PropertyEditor,111
4_13 更多的Spring ApplicationContext配置,113
4_13_1 使用MessageSource进行国际化,113
<li>4_13_2 在独立的应用程序中使用
MessageSource,115
4_13_3 应用程序事件,116
4_14 访问资源,117
4_15 使用Java类进行配置,118
4_15_1 Java中的ApplicationContext配置,118
4_15_2 Spring混合配置,124
4_15_3 Java或XML配置?,126
4_16 配置文件,126
4_17 使用Java配置来配置Spring配置文件,128
4_18 Environment和PropertySource抽象,130
4_19 使用JSR-330注解进行配置,133
4_20 使用Groovy进行配置,135
4_21 Spring Boot,137
4_22 小结,140
第05章 Spring AOP,141
5_1 AOP概念,142
5_2 AOP的类型,142
5_2_1 使用静态AOP,142
5_2_2 使用动态AOP,142
5_2_3 选择AOP类型,143
5_3 Spring中的AOP,143
5_3_1 AOP Alliance,143
5_3_2 AOP中的Hello World示例,143
5_4 Spring AOP架构,144
5_4_1 Spring中的连接点,144
5_4_2 Spring中的切面,145
5_4_3 关于ProxyFactory类,145
5_4_4 在Spring中创建通知,145
5_4_5 通知的接口,146
5_4_6 创建前置通知,146
5_4_7 通过使用前置通知保护方法访问,147
5_4_8 创建后置返回通知,150
5_4_9 创建环绕通知,152
5_4_10 创建异常通知,153
5_4_11 选择通知类型,155
5_5 在Spring中使用顾问和切入点,155
5_5_1 Pointcut接口,156
5_5_2 可用的切入点实现,157
5_5_3 使用DefaultPointcutAdvisor,157
5_5_4 使用StaticMethodMatcherPointcut创建静态切入点,158
5_5_5 使用DyanmicMethodMatcherPointcut创建动态切入点,160
5_5_6 使用简单名称匹配,162
5_5_7 用正则表达式创建切入点,163
5_5_8 使用AspectJ切入点表达式创建切入点,164
5_5_9 创建注解匹配切入点,165
5_5_10 便捷的Advisor实现,166
5_6 了解代理,166
5_6_1 使用JDK动态代理,167
5_6_2 使用CGLIB代理,167
5_6_3 比较代理性能,168
5_6_4 选择要使用的代理,170
5_7 切入点的高级使用,171
5_7_1 使用控制流切入点,171
5_7_2 使用组合切入点,173
5_7_3 组合和切入点接口,175
5_7_4 切入点小结,175
5_8 引入入门,175
5_8_1 引入的基础知识,176
5_8_2 使用引入进行对象修改检测,177
5_8_3 引入小结,180
5_9 AOP的框架服务,180
5_9_1 以声明的方式配置AOP,180
5_9_2 使用ProxyFactoryBean,181
5_9_3 使用aop名称空间,185
5_10 使用@AspectJ样式注解,189
5_11 AspectJ集成,194
5_11_1 关于AspectJ,194
5_11_2 使用单例切面,194
5_12 小结,196
第06章 Spring JDBC支持,197
6_1 介绍Lambda表达式,197
6_2 示例代码的示例数据模型,198
6_3 研究JDBC基础结构,201
6_4 Spring JDBC基础结构,204
6_5 数据库连接和数据源,205
6_6 嵌入数据库支持,208
6_7 在DAO类中使用DataSource,209
6_8 异常处理,211
6_9 JdbcTemplate类,212
6_9_1 在DAO类中初始化JdbcTemplate,212
6_9_2 通过NamedParameterJdbcTemplate使用命名参数,214
6_9_3 使用RowMapper检索域对象,215
6_10 使用ResultSetExtractor检索嵌套域对象,216
6_11 建模JDBC操作的Spring类,218
6_12 使用MappingSqlQuery查询数据,220
6_13 插入数据并检索生成的键,225
6_14 使用BatchSqlUpdate进行批处理操作,226
6_15 使用SqlFunction调用存储函数,230
6_16 Spring Data项目:JDBC Extensions,231
6_17 使用JDBC的注意事项,231
6_18 Spring Boot JDBC,232
6_19 小结,234
第07章 在Spring中使用Hibernate,235
7_1 示例代码的示例数据模型,235
7_2 配置Hibernate的SessionFactory,237
7_3 使用Hibernate注解的ORM映射,239
7_3_1 简单的映射,240
7_3_2 一对多映射,243
7_3_3 多对多映射,244
7_4 Hibernate会话接口,245
7_4_1 使用Hibernate查询语言查询数据,246
7_4_2 使用延迟获取进行简单查询,246
7_4_3 使用关联获取进行查询,248
7_5 插入数据,250
7_6 更新数据,253
7_7 删除数据,254
7_8 配置Hibernate以便从实体生成表,255
7_9 注解方法或字段?,257
7_10 使用Hibernate时的注意事项,259
7_11 小结,259
第08章 在Spring中使用JPA 2进行数据访问,260
8_1 JPA 2_1介绍,260
8_1_1 示例代码的示例数据模型,261
8_1_2 配置JPA的EntityManagerFactory,261
8_1_3 使用JPA注解进行ORM映射,263
8_2 使用JPA执行数据库操作,264
8_2_1 使用Java持久化查询语言来查询数据,265
8_2_2 查询非类型化结果,271
8_3 使用构造函数表达式查询自定义结果类型,272
8_3_1 插入数据,274
8_3_2 更新数据,276
8_3_3 删除数据,277
8_4 使用本地查询,278
8_5 使用简单的本地查询,278
8_6 使用SQL ResultSet映射进行本地查询,279
8_7 Spring Data JPA介绍,283
8_7_1 添加Spring Data JPA库依赖项,284
<li>8_7_2 使用Spring Data JPA Repository抽象
进行数据库操作,284
8_8 使用JpaRepository,288
8_9 带有自定义查询的Spring Data JPA,289
<li>8_10 通过使用Hibernate Envers保存
实体版本,298
8_10_1 为实体版本控制添加表,298
<li>8_10_2 为实体版本控制配置
EntityManagerFactory,299
8_10_3 启用实体版本控制和历史检索,301
8_10_4 测试实体版本控制,302
8_11 Spring Boot JPA,303
8_12 使用JPA时的注意事项,307
8_13 小结,307
第09章 事务管理,308
9_1 研究Spring事务抽象层,308
9_2 PlatformTransactionManager的实现,309
9_3 分析事务属性,310
9_3_1 TransactionDefinition接口,310
9_3_2 TransactionStatus接口,311
9_4 示例代码的示例数据模型和基础结构,312
9_4_1 创建一个带有依赖项的简单Spring JPA项目,312
9_4_2 示例数据模型和通用类,313
9_4_3 使用AOP配置进行事务管理,320
9_5 使用编程式事务,321
9_6 使用Spring实现全局事务,323
9_6_1 实现JTA示例的基础结构,323
9_6_2 使用JTA实现全局事务,324
9_6_3 Spring Boot JTA,330
9_6_4 使用JTA事务管理器的注意事项,333
9_7 小结,334
第10章 使用类型转换和格式化进行验证,335
10_1 依赖项,335
10_2 Spring类型转换系统,336
10_3 使用PropertyEditors从字符串进行转换,336
10_4 Spring类型转换介绍,338
10_4_1 实现自定义转换器,338
10_4_2 配置ConversionService,339
10_4_3 任意类型之间的转换,340
10_5 Spring中的字段格式化,343
10_5_1 实现自定义格式化器,343
10_5_2 配置ConversionServiceFactoryBean,344
10_6 Spring中的验证,345
10_6_1 使用Spring Validator接口,345
10_6_2 使用JSR-349 Bean Validation,347
10_6_3 在Spring中配置Bean Validation支持,348
10_6_4 创建自定义验证器,349
10_7 使用AssertTrue进行自定义验证,351
10_8 自定义验证的注意事项,352
10_9 决定使用哪种验证API,352
10_10 小结,352
第11章 任务调度,353
11_1 任务调度示例的依赖项,353
11_2 Spring中的任务调度,354
11_2_1 Spring TaskScheduler抽象介绍,354
11_2_2 研究示例任务,355
11_2_3 使用注解进行任务调度,360
11_2_4 Spring中异步任务的执行,362
11_3 Spring中任务的执行,364
11_4 小结,365
第12章 使用Spring远程处理,366
12_1 使用示例的数据模型,367
12_2 为JPA后端添加必需的依赖项,368
12_3 实现和配置SingerService,369
12_3_1 实现SingerService,369
12_3_2 配置SingerService,370
12_3_3 公开服务,372
12_3_4 调用服务,373
12_4 在Spring中使用JMS,374
12_4_1 在Spring中实现JMS监听器,376
12_4_2 在Spring中发送JMS消息,377
12_5 Spring Boot Artemis启动器,378
12_6 在Spring中使用RESTful-WS,380
12_6_1 RESTful Web服务介绍,380
12_6_2 为示例添加必需的依赖项,381
12_6_3 设计Singer RESTful Web服务,381
12_6_4 使用Spring MVC展示REST样式的Web服务,381
12_7 配置Castor XML,382
12_7_1 实现SingerController,383
12_7_2 配置Spring Web应用程序,385
12_7_3 使用curl测试RESTful-WS,387
12_7_4 使用RestTemplate访问RESTful-WS,388
<li>12_7_5 使用Spring Security来保护
RESTful-WS,391
12_8 使用Spring Boot开发RESTful-WS,394
12_9 在Spring中使用AMQP,397
12_10 小结,402
第13章 Spring测试,403
13_1 测试类别介绍,403
13_2 使用Spring测试注解,404
13_3 实施逻辑单元测试,405
13_3_1 添加所需的依赖项,405
13_3_2 单元测试Spring MVC控制器,406
13_4 实现集成测试,408
13_4_1 添加所需的依赖项,408
13_4_2 配置用于服务层测试的配置文件,408
13_4_3 Java配置版本,409
13_4_4 实施基础结构类,410
13_4_5 对服务层进行单元测试,413
13_4_6 丢弃DbUnit,415
13_5 实现前端单元测试,418
13_6 小结,418
第14章 Spring中的脚本支持,419
14_1 在Java中使用脚本支持,419
14_2 Groovy介绍,420
14_2_1 动态类型化,421
14_2_2 简化的语法,421
14_2_3 闭包,422
14_3 与Spring一起使用Groovy,423
14_3_1 开发Singer对象域,423
14_3_2 实现规则引擎,423
14_3_3 将规则工厂实现为Spring可刷新bean,425
14_3_4 测试年龄分类规则,426
14_3_5 内联动态语言代码,428
14_4 小结,429
第15章 应用程序监控,430
15_1 Spring中的JMX支持,430
15_2 将Spring bean导出为JMX,430
15_3 使用Java VisualVM进行JMX监控,431
15_4 监视Hibernate统计信息,433
15_5 使用了Spring Boot的JMX,434
15_6 小结,436
第16章 Web应用程序,437
16_1 实现示例的服务层,438
16_1_1 对示例使用数据模型,438
16_1_2 实现DAO层,440
16_1_3 实现服务层,440
16_2 配置SingerService,441
16_3 MVC和Spring MVC介绍,442
16_3_1 MVC介绍,443
16_3_2 Spring MVC介绍,443
16_3_3 Spring MVC WebApplicationContext层次结构,444
16_3_4 Spring MVC请求生命周期,444
16_3_5 Spring MVC配置,445
16_3_6 在Spring MVC中创建第一个视图,447
16_3_7 配置DispatcherServlet,448
16_3_8 实现SingerController,449
16_3_9 实现歌手列表视图,450
16_3_10 测试歌手列表视图,450
16_4 理解Spring MVC项目结构,450
16_5 实现国际化(il8n),451
16_5_1 在DispatcherServlet配置中配置国际化,451
16_5_2 为国际化支持而修改歌手列表视图,453
16_6 使用主题和模板,453
16_7 使用Apache Tiles查看模板,455
16_7_1 设计模板布局,455
16_7_2 实现页面布局组件,456
16_8 在Spring MVC中配置Tiles,458
16_9 实现歌手信息视图,459
16_9_1 将URL映射到视图,459
16_9_2 实现显示歌手视图,459
16_9_3 实现编辑歌手视图,461
16_9_4 实现添加歌手视图,464
16_9_5 启用JSR-349(bean验证),465
16_10 使用jQuery和jQuery UI,467
16_10_1 jQuery和jQuery UI介绍,467
16_10_2 在视图中使用jQuery和jQuery UI,467
16_10_3 使用CKEditor进行富文本编辑,468
16_10_4 使用jqGrid实现具有分页支持的数据网格,469
16_10_5 在歌手列表视图中启用jqGrid,469
16_10_6 在服务器端启用分页,471
16_11 处理文件上传,473
16_11_1 配置文件上传支持,473
16_11_2 修改视图以支持文件上传,474
16_11_3 修改控制器以支持文件上传,475
16_12 用Spring Security保护Web应用程序,476
16_12_1 配置Spring安全性,476
16_12_2 将登录功能添加到应用程序中,478
16_12_3 使用注解来保护控制器方法,480
<li>16_13 使用Spring Boot创建Spring Web
应用程序,480
16_14 设置DAO层,481
16_14_1 设置服务层,482
16_14_2 设置Web层,483
16_14_3 设置Spring安全性,484
16_15 创建Thymeleaf视图,484
16_16 使用Thymeleaf扩展,487
16_17 小结,491
第17章 WebSocket,492
17_1 WebSocket介绍,492
17_2 与Spring一起使用WebSocket,492
17_3 使用WebSocket API,493
17_4 使用STOMP发送消息,501
17_5 小结,505
第18章 Spring项目:批处理、集成和XD等,506
18_1 Spring Batch,507
18_2 JSR-352,512
18_3 Spring Boot Batch,514
18_4 Spring Integration,517
18_5 Spring XD,521
18_6 Spring框架的五个最显著的功能,522
18_6_1 功能性Web框架,523
18_6_2 Java 9 互操作性,531
18_6_3 JDK模块化,531
18_6_4 使用Java 9和Spring WebFlux进行反应式编程,533
18_6_5 Spring支持JUnit 5 Jupiter,534
18_7 小结,541
附录A 设置开发环境,542
::下载地址::
>> 评论