部分I.核心技术
优质
小牛编辑
166浏览
2023-12-01
这个开发手册的第一部分描述了Spring Framework所有使用到的技术领域。
首先是Spring Framework中的控制翻转(IoC)容器。在完整的阐述了Spring Framework的IoC容器后紧跟的是对Spring的面向方面编程(AOP)技术的全面说明。 Spring Framework拥有自己的AOP框架,这个框架在概念上是十分容易理解的,而且它成功地实现了在Java企业级开发中对AOP需求的80%左右。
开发手册中还描述了Spring与AspectJ的集成方法。 (当前来说,AspectJ是Java企业级开发领域中特性最多、最成熟的AOP实现。)
最后,Spring小组提倡在软件开发中运用测试驱动开发(TDD)方法,所以在最后涵盖了Spring对集成测试的支持(包括单元测试的最佳实践)。 Spring小组发现正确使用IoC可以让单元测试和集成测试更容易进行(在类中定义setter方法和适当的构造方法让java类更容易地与测试联系起来, 而不用设置服务定位注册或类似的东西)……希望仅专注于测试的"同学"们,这一章一定会让你有所收获。
第 4 章 控制反转容器
第 5 章 资源
第 6 章 属性编辑器,数据绑定,校验与BeanWrapper
第 7 章 使用Spring进行面向切面编程(AOP)
第 8 章 Spring AOP APIs
第 9 章 测试
目录
- 4. 控制反转容器
- 4.1. 简介
- 4.2. 容器和bean的基本原理
- 4.2.1. 容器
- 4.2.2. 实例化容器
- 4.2.3. 多种bean
- 4.2.4. 使用容器
- 4.3. 依赖
- 4.3.1. 注入依赖
- 4.3.2. 构造器参数的解析
- 4.3.3. bean属性及构造器参数详解
- 4.3.4. 方法注入
- 4.3.5. 使用
depends-on
- 4.3.6. 延迟初始化bean
- 4.3.7. 自动装配(autowire)协作者
- 4.3.8. 依赖检查
- 4.4. bean的作用域
- 4.4.1. Singleton作用域
- 4.4.2. Prototype作用域
- 4.4.3. 其他作用域
- 4.4.4. 自定义作用域
- 4.5. 定制bean特性
- 4.5.1. Lifecycle接口
- 4.5.2. 了解自己
- 4.6. bean的继承
- 4.7. 容器扩展点
- 4.7.1. 用
BeanPostProcessor
定制bean - 4.7.2. 用
BeanFactoryPostProcessor
定制配置元数据 - 4.7.3. 使用
FactoryBean
定制实例化逻辑
- 4.7.1. 用
- 4.8.
ApplicationContext
- 4.8.1. 利用
MessageSource
实现国际化 - 4.8.2. 事件
- 4.8.3. 底层资源的访问
- 4.8.4.
ApplicationContext
在WEB应用中的实例化
- 4.8.1. 利用
- 4.9. 粘合代码和可怕的singleton
- 4.9.1. 使用Singleton-helper类
- 5. 资源
- 5.1. 简介
- 5.2.
Resource
接口 - 5.3. 内置
Resource
实现 - 5.3.1.
UrlResource
- 5.3.2.
ClassPathResource
- 5.3.3.
FileSystemResource
- 5.3.4.
ServletContextResource
- 5.3.5.
InputStreamResource
- 5.3.6.
ByteArrayResource
- 5.3.1.
- 5.4. The
ResourceLoader
- 5.5.
ResourceLoaderAware
接口 - 5.6. 把
Resource
s 作为属性来配置 - 5.7. Application contexts 和
Resource
路径 - 5.7.1. 构造application contexts
- 5.7.2.
classpath*:
前缀 - 5.7.3.
FileSystemResource
提示
- 6. 属性编辑器,数据绑定,校验与BeanWrapper
- 6.1. 简介
- 6.2. 使用
DataBinder
进行数据绑定 - 6.3. Bean处理和BeanWrapper
- 6.3.1. 设置和获取属性值以及嵌套属性
- 6.3.2. 内建的PropertyEditor实现
- 6.3.3. 其他值得一提的特性
- 6.4. 使用Spring的Validator接口进行校验
- 6.5. Errors接口
- 6.6. 从错误代码到错误信息
- 7. 使用Spring进行面向切面编程(AOP)
- 7.1. 简介
- 7.1.1. AOP概念
- 7.1.2. Spring AOP的功能和目标
- 7.1.3. Spring的AOP代理
- 7.2. @AspectJ支持
- 7.2.1. 启用@AspectJ支持
- 7.2.2. 声明一个切面
- 7.2.3. 声明一个切入点(pointcut)
- 7.2.4. 声明通知
- 7.2.5. 引入(Introductions)
- 7.2.6. 切面实例化模型
- 7.2.7. 例子
- 7.3. Schema-based AOP support
- 7.3.1. 声明一个切面
- 7.3.2. 声明一个切入点
- 7.3.3. 声明通知
- 7.3.4. 引入
- 7.3.5. 切面实例化模型
- 7.3.6. Advisors
- 7.3.7. 例子
- 7.4. 混合切面类型
- 7.5. 代理机制
- 7.6. 编程方式创建@AspectJ代理
- 7.7. 在Spring应用中使用AspectJ
- 7.7.1. 在Spring中使用AspectJ来为domain object进行依赖注入
- 7.7.2. Spring中其他的AspectJ切面
- 7.7.3. 使用Spring IoC来配置AspectJ的切面
- 7.7.4. 在Spring应用中使用AspectJ Load-time weaving(LTW)
- 7.8. 其它资源
- 8. Spring AOP APIs
- 8.1. 简介
- 8.2. Spring中的切入点API
- 8.2.1. 概念
- 8.2.2. 切入点实施
- 8.2.3. AspectJ切入点表达式
- 8.2.4. 便利的切入点实现
- 8.2.5. 切入点的基类
- 8.2.6. 自定义切入点
- 8.3. Spring的通知API
- 8.3.1. 通知的生命周期
- 8.3.2. Spring里的通知类型
- 8.4. Spring里的advisor(Advisor) API
- 8.5. 使用ProxyFactoryBean创建AOP代理
- 8.5.1. 基础
- 8.5.2. JavaBean属性
- 8.5.3. 基于JDK和CGLIB的代理
- 8.5.4. 对接口进行代理
- 8.5.5. 对类进行代理
- 8.5.6. 使用“全局”advisor
- 8.6. 简化代理定义
- 8.7. 使用ProxyFactory通过编程创建AOP代理
- 8.8. 操作被通知对象
- 8.9. 使用“自动代理(autoproxy)”功能
- 8.9.1. 自动代理bean定义
- 8.9.2. 使用元数据驱动的自动代理
- 8.10. 使用TargetSources
- 8.10.1. 热交换目标源
- 8.10.2. 池化目标源
- 8.10.3. 原型目标源
- 8.10.4.
ThreadLocal
目标源
- 8.11. 定义新的
通知
类型 - 8.12. 更多资源
- 9. 测试
- 9.1. 简介
- 9.2. 单元测试
- 9.3. 集成测试
- 9.3.1. Context管理和缓存
- 9.3.2. 测试fixture的依赖注入
- 9.3.3. 事务管理
- 9.3.4. 方便的变量
- 9.3.5. 示例
- 9.3.6. 运行集成测试
- 9.4. 更多资源