Table of contents 简介 前言 1. “Spring”代表什么 2. Spring和Spring框架的历史 3. 设计哲学 4. 反馈和贡献 5. 开始 核心技术 1. IoC容器 1.1 IoC容器和Beans介绍 1.2 IoC容器概述 1.3 Bean概述 1.4 依赖 1.5 Bean作用域 1.6 自定义Bean 1.7 Bean的继承 1.8 容器扩展点 1.9 基于注解的容器配置 1.10 类路径扫描和托管组件 1.11 使用JSR 330标准注解 1.12 基于Java的容器配置 1.13 环境抽象 1.14 注册LoadTimeWeaver 1.15 ApplicationContext的其他功能 1.16 BeanFactory 2.资源 2.1介绍 2.2资源接口 2.3内置资源实现 2.4ResourceLoader 2.5ResourceLoaderAware接口 2.6资源作为依赖 2.7应用程序上下文和资源路径 3.验证,数据绑定,和类型转换 3.1使用Spring Validator接口 3.2将代码解析为错误消息 3.3bean操作和BeanWrapper 3.4Spring类型转换 3.5Spring字段格式化 3.6配置全局Date和Time格式 3.7Spring验证 4.SpEL Spring表达式语言 4.1求值 4.2bean定义中的表达式 4.3语言引用 5.Spring AOP 5.1什么是AOP 5.1Spring AOP的能力和目标 5.3AOP代理 5.4@AspectJ 支持 5.5基于Schema的AOP支持 5.6选择要使用的AOP声明样式 5.7混合Aspect类型 5.8代理机制 5.9程序创建@AspectJ代理 5.10在Spring应用程序中使用AspectJ 5.11更多资源 6.Spring AOP APIs 6.1Pointcut API 6.2Advice API 6.3Advisor API 6.4使用ProxyFactoryBean来创建AOP代理 6.5简介的代理定义 6.6使用ProxyFactory创建AOP代理 6.7操作被通知的对象 6.8使用auto-proxy功能 6.9使用TargetSource的实现 6.10定义新的Advice Types 7.Null-safety 8.数据缓存和解码器 9.附录 9.1XML Schemas 9.2创建XML Schemas 测试 1.Spring测试介绍 2.单元测试 2.1Mock Objects 2.2单元测试支持类 3.集成测试 3.1概览 3.2集成测试的目的 3.3JDBC测试支持 3.4注解 3.5Spring TestContext框架 3.6Spring MVC测试框架 3.7WebTestClient 4.更多资源 数据访问 1.事务管理 2.DAO支持 3.JDBC 3.1选择JDBC数据库访问方法 3.2包层次结构 3.3使用JDBC核心类控制基本JDBC处理和错误处理 3.4控制数据库连接 3.5JDBC批处理操作 3.6使用SimpleJdbc 3.7将JDBC操作建模为Java对象 3.8参数和数据值处理的常见问题 3.9嵌入式数据库支持 3.10初始化数据源 4.ORM 4.1Spring ORM介绍 4.2ORM集成的一般注意事项 4.3Hibernate 4.4JPA 5.使用Object-XML映射封装XML Web Servlet 1. Spring Web MVC 1.1 DispatcherServlet 1.2 Filters 1.3 Controllers注解 1.4 URI链接 1.5 异步请求 1.6 CORS 1.7 Web Security 1.8 HTTP Caching 1.9 View技术 1.10 MVC配置 1.11 HTTP/2 2. REST客户端 3. 测试 4. WebSockets 4.1 WebSocket介绍 4.2 WebSocket API 4.3 SockJS Fallback 4.4 STOMP Web Reactive 1.Spring WebFlux 1.1 Overview 1.2 Reactive Core 1.3 DispatcherHandler 1.4 Annotated Controllers 1.5 Functional Endpoints 1.6 URI Links 1.7 CORS 1.8 Web Security 1.9 View Technologies 1.10 HTTP Caching 1.11 WebFlux Config 1.12 HTTP/2 2.WebClient 3.WebSockets 4.测试 5.Reactive库