《SPRING学习指南 第4版》

第1章Spring框架概述1

1.1 简介1

1.2 Spring框架的模块1

1.3 Spring IoC容器2

1.4使用Spring框架的好处4

1.4.1 管理本地和全局事务的一致方法4

1.4.2 声明式事务管理6

1.4.3 安全6

1.4.4 Java管理扩展7

1.4.5 Java消息服务8

1.4.6 缓存8

1.5一个简单的Spring应用程序9

1.5.1 确定应用程序对象及其依赖关系9

1.5.2 根据确定的应用程序对象创建POJO类10

1.5.3 创建配置元数据10

1.5.4 通过setter方法注入依赖项12

1.5.5 创建Spring容器的一个实例14

1.5.6 从Spring容器访问bean15

1.6 Spring框架5的新功能16

1.7 建立在Spring之上的框架16

1.8 小结17

第2章Spring框架基础18

2.1 简介18

2.2 面向接口编程的设计方法18

2.3使用静态和实例工厂方法创建Spring bean21

2.3.1 通过静态工厂方法实例化bean21

2.3.2 通过实例工厂方法实例化bean22

2.4基于构造函数的DI25

2.4.1 回顾基于setter的DI25

2.4.2 基于构造函数的DI26

2.5 将配置详细信息传递给bean27

2.6bean的作用域29

2.6.1 singleton29

2.6.2 prototype35

2.6.3 为你的bean选择适当的范围36

2.7 小结36

第3章bean的配置37

3.1 简介37

3.2bean定义的继承37

3.2.1 MyBank——bean定义继承示例37

3.2.2 继承了什么39

3.3构造函数参数匹配43

3.3.1 使用<constructor.arg>元素传递简单的值和bean引用43

3.3.2 基于类型的构造方法参数匹配44

3.3.3 基于名称的构造函数参数匹配47

3.4配置不同类型的bean属性和构造函数参数50

3.4.1 Spring的内置属性编辑器50

3.4.2 指定不同集合类型的值52

3.4.3 指定数组的值57

3.4.4 与<list>、<set>和<map>元素相对应的默认实现58

3.5内置属性编辑器58

3.5.1 CustomCollectionEditor58

3.5.2 CustomMapEditor60

3.5.3 CustomDateEditor61

3.6向Spring容器注册属性编辑器61

3.6.1 创建一个PropertyEditorRegistrar实现61

3.6.2 配置CustomEditorConfigurer类62

3.7具有p和c命名空间的简明bean定义62

3.7.1 p命名空间63

3.7.2 c命名空间63

3.8Spring的util模式65

3.8.1 <list>元素66

3.8.2 <map>元素66

3.8.3 <set>元素67

3.8.4 <properties>元素68

3.8.5 <constant>元素68

3.8.6 <property-path>元素69

3.9FactoryBean接口70

3.9.1 MyBank application——将事件存储在数据库中70

3.9.2 MyBank——FactoryBean示例71

3.9.3 访问FactoryBean实例73

3.10 模块化bean配置75

3.11 小结75

第4章依赖注入76

4.1 简介76

4.2 内部bean76

4.3使用depends-on特性控制bean的初始化顺序77

4.3.1 MyBank——bean之间隐式的依赖关系78

4.3.2 隐性依赖问题78

4.4singleton和prototype范围的bean的依赖项82

4.4.1 singleton bean的依赖项82

4.4.2 Prototype bean的依赖项84

4.5通过singleton bean中获取prototype bean的新实例86

4.5.1 ApplicationContextAware接口87

4.5.2 <lookup-method>元素88

4.5.3 <replaced-method>元素91

4.6自动装配依赖项93

4.6.1 byType93

4.6.2 constructor95

4.6.3 byName96

4.6.4 default/no96

4.6.5 使bean无法用于自动装配97

4.6.6 自动装配的局限性98

4.7 小结98

第5章自定义bean和bean定义99

5.1 简介99

5.2自定义bean的初始化和销毁逻辑99

5.2.1 使Spring调用由destroy-method特性指定的cleanup方法101

5.2.2 清理方法和prototype bean103

5.2.3 为所有bean指定默认的bean初始化和销毁方法103

5.2.4 InitializingBean和DisposableBean生命周期接口103

5.2.5 JSR 250’s@PostConstruct和@PreDestroy注解103

5.3使用BeanPostProcessor与新创建的bean实例进行交互105

5.3.1 BeanPostProcessor示例——验证bean实例106

5.3.2 BeanPostProcessor示例——解析bean依赖项109

5.3.3 FactoryBeans的BeanPostProcessor行为112

5.3.4 RequiredAnnotationBeanPostProcessor113

5.3.5 DestructionAwareBeanPostProcessor114

5.4使用BeanFactoryPostProcessor 修改bean定义114

5.4.1 BeanFactoryPostProcessor示例115

5.4.2 PropertySourcesPlacebolderConfigurer118

5.4.3 PropertyOverrideConfigurer123

5.5 小结125

第6章使用Spring进行注解驱动开发126

6.1 简介126

6.2 用@Component标识Spring bean126

6.3 @Autowired通过类型自动装配依赖项128

6.4@Qualifier按名称自动装配依赖项131

6.4.1 使用qualifiers自动装配bean132

6.4.2 创建自定义限定符注解133

6.5 JSR 330的@Inject和@Named注解135

6.6 JSR 250的@Resource注解137

6.7@Scope、@Lazy、@DependsOn和@Primary注解138

6.7.1 @Scope139

6.7.2 @Lazy139

6.7.3 @DependsOn142

6.7.4 @Primary142

6.8使用@Value简化注解的bean类的配置142

6.8.1 在@Value注解中使用Spring表达式语言(SpEL)143

6.8.2 在方法级和方法参数级使用@Value注解145

6.8.3 在SpEL中使用数学、关系和逻辑运算符145

6.8.4 使用SpEL获取bean的引用146

6.8.5 在SpEL中使用正则表达式146

6.8.6 在SpEL中使用映射和列表146

6.8.7 在基于XML的bean定义中指定SpEL表达式147

6.9 使用Spring的Validator接口验证对象148

6.10使用JSR 380 (Bean Validation 2.0)注解指定约束151

6.10.1 Spring中的JSR 380支持152

6.10.2 JSR 380有什么新功能157

6.11 bean定义配置文件159

6.12 小结163

第7章基于Java的容器配置164

7.1 简介164

7.2 使用@Configuration和@Bean注解配置bean164

7.3 注入bean依赖项168

7.4 配置Spring容器170

7.5 生命周期回调172

7.6 导入基于Java的配置173

7.7附加主题175

7.7.1 覆盖@Bean方法175

7.7.2 配置BeanPostProcessors和BeanFactoryPostProcessors178

7.7.3 导入应用程序上下文XML文件178

7.7.4 有条件地包含@Bean和@Configuration类180

7.8 小结185

第8章使用Spring进行数据库交互186

8.1 简介186

8.2 MyBank应用程序的需求186

8.3使用Spring JDBC模块开发MyBank应用程序187

8.3.1 配置数据源187

8.3.2 创建使用Spring的JDBC模块类的DAO188

8.4使用Hibernate开发MyBank应用程序194

8.4.1 配置SessionFactory实例194

8.4.2 创建使用Hibernate API进行数据库交互的DAO195

8.5使用Spring的事务管理196

8.5.1 MyBank的事务管理需求196

8.5.2 编程式事务管理196

8.5.3 声明式事务管理199

8.5.4 Spring对JTA的支持202

8.6使用基于Java的配置开发MyBank应用程序203

8.6.1 配置javax.sql.DataSource203

8.6.2 配置Hibernate的SessionFactory204

8.6.3 启用@Transactional支持204

8.7 小结205

第9章Spring Data206

9.1 简介206

9.2 核心概念和接口206

9.3Spring Data JPA209

9.3.1 代替存储库方法的自定义实现210

9.3.2 将自定义方法添加到存储库211

9.3.3 配置Spring Data JPA——基于Java的配置方法212

9.3.4 配置Spring Data JPA——基于XML的配置方法214

9.3.5 查询方法215

9.4使用Querydsl创建查询220

9.4.1 将Spring Data与Querydsl集成221

9.4.2 构造Predicate221

9.5 按示例查询223

9.6Spring Data MongoDB224

9.6.1 建模域实体225

9.6.2 配置Spring Data MongoDB——基于Java的配置226

9.6.3 配置Spring Data MongoDB——基于XML的配置227

9.6.4 创建自定义存储库228

9.6.5 将自定义方法添加到存储库228

9.6.6 使用Querydsl创建查询229

9.6.7 使用Query by Example创建查询230

9.7 小结231

第10章使用Spring进行消息传递、电子邮件发送、异步方法执行和缓存232

10.1 简介232

10.2 MyBank应用程序的需求232

10.3发送JMS消息233

10.3.1 配置ActiveMQ代理以在内嵌模式下运行234

10.3.2 配置一个JMS ConnectionFactory234

10.3.3 使用JmsTemplate发送JMS消息235

10.3.4 在事务中发送JMS消息236

10.3.5 动态JMS目标和JmsTemplate配置239

10.3.6 JmsTemplate和消息转换239

10.4接收JMS消息240

10.4.1 使用JmsTemplate同步接收JMS消息240

10.4.2 使用消息侦听器容器异步接收JMS消息240

10.4.3 使用@JmsListener注册JMS侦听器端点242

10.4.4 使用spring-messaging模块的消息传递243

10.5发送电子邮件245

10.5.1 使用MimeMessageHelper准备MIME消息248

10.5.2 使用MimeMessagePreparator准备MIME消息249

10.6任务调度和异步执行249

10.6.1 TaskExecutor接口249

10.6.2 TaskScheduler接口251

10.6.3 调度bean方法的执行252

10.6.4 @Async和@Scheduled注解252

10.7缓存254

10.7.1 配置一个CacheManager255

10.7.2 缓存注解——@Cacheable、@CacheEvict和@CachePut255

10.7.3 使用Spring cache模式进行缓存配置258

10.8 运行MyBank应用程序259

10.9 小结261

第11章面向切面编程262

11.1 简介262

11.2 一个简单的AOP示例262

11.3Spring AOP框架264

11.3.1 代理的创建265

11.3.2 expose-proxy特性266

11.4切入点表达式267

11.4.1 @Pointcut注解267

11.4.2 execution和args切入点指示符268

11.4.3 bean切入点指示器270

11.4.4 基于注解的切入点指示符271

11.5通知类型272

11.5.1 前置通知272

11.5.2 返回后通知272

11.5.3 抛出后通知273

11.5.4 后置通知274

11.5.5 围绕通知274

11.5.6 通过实现特殊接口创建通知275

11.6Spring AOP-XML模式样式276

11.6.1 配置一个AOP切面276

11.6.2 配置一个通知277

11.6.3 将切入点表达式与通知相关联278

11.7 小结278

第12章Spring Web MVC基础知识279

12.1 简介279

12.2 示例Web项目的目录结构279

12.3了解“Hello World”网络应用程序280

12.3.1 HelloWorldController.java——Hello World Web应用程序的控制器类280

12.3.2 helloworldjsp——展示“Hello World!!”消息的JSP页面282

12.3.3 myapp-config.xml——Web应用程序上下文XML文件282

12.3.4 web.xml——Web应用程序部署描述符283

12.4 DispatcherServlet——前端控制器285

12.5 使用@Controller和@RequestMapping注解开发控制器287

12.6 MyBank Web应用程序的需求289

12.7Spring Web MVC注解——@RequestMapping和@RequestParam290

12.7.1 使用@RequestMapping将请求映射到控制器或者控制器方法290

12.7.2 @RequestMapping注解方法的参数295

12.7.3 @RequestMapping注解方法的返回类型295

12.7.4 使用@RequestParam将请求参数传递给控制器方法297

12.8 验证300

12.9 使用@ExceptionHandler注解处理异常302

12.10 加载根Web应用程序上下文XML文件303

12.11 小结304

第13章Spring Web MVC中的验证和数据绑定305

13.1 简介305

13.2使用@ModelAttribute注解添加和获取模型特性305

13.2.1 使用方法级的@ModelAttribute注解添加模型特性306

13.2.2 使用@ModelAttribute注解获取模型特性309

13.2.3 请求处理及@ModelAttribute注解的方法310

13.2.4 使用@ModelAttribute注解的方法参数的行为311

13.2.5 RequestToViewNameTranslator对象311

13.3 使用@SessionAttributes注解缓存模型特性312

13.4Spring中对数据绑定的支持314

13.4.1 WebDataBinder——Web请求参数的数据绑定器316

13.4.2 配置WebDataBinder实例317

13.4.3 允许或禁止字段参与数据绑定过程320

13.4.4 使用BindingResult对象检查数据绑定和验证错误322

13.5Spring中的验证支持323

13.5.1 使用Spring的Validator接口验证模型特性323

13.5.2 使用JSR 380注解指定约束326

13.5.3 使用JSR 380注解验证对象327

13.6 Spring的form标签库329

13.7 使用基于Java的配置方式来配置Web应用程序331

13.8 小结333

第14章使用Spring Web MVC开发 RESTful Web服务334

14.1 简介334

14.2 定期存款Web服务334

14.3使用Spring Web MVC实现RESTful Web服务335

14.3.1 JSON(JavaScript对象表示法)336

14.3.2 FixedDepositWS Web服务的实现337

14.4使用RestTemplate和WebClient访问RESTful Web服务342

14.4.1 RestTemplate的配置342

14.4.2 使用RestTemplate访问FixedDepositWS Web服务343

14.4.3 使用WebClient异步访问RESTful Web服务347

14.5 使用HttpMessageConverter将Java对象与HTTP请求和响应相互转换348

14.6 @PathVariable和@MatrixVariable注解349

14.7 小结352

第15章Spring Web MVC进阶——国际化、文件上传和异步请求处理353

15.1 简介353

15.2 使用处理程序拦截器对请求进行预处理和后处理353

15.3使用资源束进行国际化355

15.3.1 MyBank Web应用程序的需求355

15.3.2 MyBank Web应用程序的国际化和本地化355

15.4异步地处理请求357

15.4.1 异步请求处理配置358

15.4.2 从@RequestMapping方法返回Callable358

15.4.3 从@RequestMapping方法中返回DefferedResult359

15.4.4 设置默认超时时间365

15.4.5 拦截异步请求365

15.5Spring中的类型转换和格式化支持366

15.5.1 创建自定义转换器366

15.5.2 配置和使用自定义转换器366

15.5.3 创建一个自定义的格式化器368

15.5.4 配置一个自定义格式化器369

15.5.5 创建AnnotationFormatterFactory以格式化仅使用@AmountFormat注解的字段369

15.5.6 配置AnnotationFormatterFactory的实现370

15.6Spring Web MVC中的文件上传支持372

15.6.1 使用CommonsMultipartResolver上传文件372

15.6.2 使用StandardServletMultipartResolver传文件374

15.7 小结374

第16章使用Spring Security保护应用程序375

16.1 简介375

16.2 MyBank Web应用程序的安全性需求375

16.3使用Spring Security保护MyBank Web应用程序376

16.3.1 Web请求安全的配置376

16.3.2 身份认证配置378

16.3.3 使用Spring Security的JSP标签库保护JSP内容379

16.3.4 保护方法380

16.4MyBank Web应用程序——使用Spring Security的ACL模块保护FixedDeposit Details实例383

16.4.1 部署和使用ch16-bankapp-db-security项目383

16.4.2 存储ACL和用户信息的数据库表385

16.4.3 用户认证387

16.4.4 Web请求安全388

16.4.5 JdbcMutableAclService配置389

16.4.6 方法级安全配置391

16.4.7 域对象实例的安全392

16.4.8 以编程方式管理ACL条目394

16.4.9 MutableAcl及安全性396

16.5使用基于Java的配置方法配置Spring Security397

16.5.1 使用Web SecurityConfigurerAdapter类配置Web请求安全397

16.5.2 使用GlobalMethodSecurity Configuration类配置方法级安全398

16.5.3 将DelegatingFilterProxy过滤器注册到ServletContext398

16.5.4 将Dispatch erServlet和Context LoaderListener注册到ServletContext399

16.6 小结399

第17章Java的函数式编程400

17.1 简介400

17.2 命令式和函数式编程风格400

17.3 lambda表达式401

17.4创建简单函数和高阶函数404

17.4.1 简单函数405

17.4.2 高阶函数406

17.5流API408

17.5.1 中间操作和终结操作409

17.5.2 延迟求值411

17.5.3 顺序流和并行流413

17.6 方法引用415

17.7 小结416

第18章RxJava 2的反应式编程417

18.1 简介417

18.2 反应式流418

18.3 冷发布者和热发布者422

18.4 背压430

18.5 小结434

第19章用Spring WebFlux、Spring Data和Spring Security开发反应式RESTfulWeb服务435

19.1 简介435

19.2 Reactor和RxJava 2定义的反应式类型435

19.3用Spring Data开发数据访问层437

19.3.1 Reactor437

19.3.2 RxJava 2441

19.4使用Spring WebFlux开发Web层444

19.4.1 编写反应式Web控制器445

19.4.2 配置Spring WebFlux445

19.4.3 配置ServletContext446

19.4.4 使用WebClient与反应式RESTful Web服务交互446

19.4.5 使用服务器发送事件接收数据449

19.5 保护WebFlux应用程序的安全性450

19.6 小结454

附录A下载和安装MongoDB数据库455

A.1 下载并安装MongoDB数据库455

A.2 连接MongoDB数据库455

附录B在Eclipse IDE中导入和运行示例项目457

B.1 下载和安装Eclipse IDE和Tomcat 9457

B.2将示例项目导入Eclipse IDE中457

B.2.1 将示例项目导入Eclipse IDE中457

B.2.2 在Eclipse IDE中配置M2_REPO类路径变量458

B.3 在Eclipse IDE中配置Tomcat 9服务器458

B.4 在Tomcat 9服务器上部署Web项目460

2020《SPRING学习指南 第4版》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

机械原理学习指南  第2版(1987 PDF版)
机械原理学习指南 第2版
1987 北京:高等教育出版社
prince2  学习指南( PDF版)
prince2 学习指南
SPRING实战  第5版(2020 PDF版)
SPRING实战 第5版
2020
NT Server 4 In The Enterprise  学习指南(1998年03月第1版 PDF版)
NT Server 4 In The Enterprise 学习指南
1998年03月第1版 电子工业出版社
学习指南(1986 PDF版)
学习指南
1986 北京:中国经济出版社
MCSE:网络基础学习指南  第2版(1998 PDF版)
MCSE:网络基础学习指南 第2版
1998 北京:电子工业出版社
MCSE:TCP/IP for NT Server 4学习指南 升级版(1998 PDF版)
MCSE:TCP/IP for NT Server 4学习指南 升级版
1998 北京:电子工业出版社
中国投资指南  第4版(1989 PDF版)
中国投资指南 第4版
1989 北京:中信出版社
螺旋藻  最完美的功能食品(1999 PDF版)
螺旋藻 最完美的功能食品
1999 青岛:青岛海洋大学出版社
机械原理学习指南  第4版(1987 PDF版)
机械原理学习指南 第4版
1987 北京:高等教育出版社
Windows 98中文版学习指南(1998 PDF版)
Windows 98中文版学习指南
1998 北京:人民邮电出版社
Borland C++4编程指南  第3版(1995 PDF版)
Borland C++4编程指南 第3版
1995 北京:清华大学出版社
CCIE学习指南  英文版(1999 PDF版)
CCIE学习指南 英文版
1999 北京:机械工业出版社
MCSE:Internet Information Server 4学习指南  升级版(1998 PDF版)
MCSE:Internet Information Server 4学习指南 升级版
1998 北京:电子工业出版社
机械设计学习指南  第2版(1987 PDF版)
机械设计学习指南 第2版
1987 北京:高等教育出版社