一个IoC容器可以管理一个或多个通过配置来生成的实像应用到容器中的对象。
包括容器本身,这些对象定义都表现为 IObjectDefinition 对象,它们包括:
- 一个类型名
- 对象行为
- 与其他对象的依赖关系
- 其他用于设置新创建对象的设置(如线程数的使用)
与对象相关的一些事:
- 类型
- id 和 命名
- 对象作用域:Singleton 还是 Prototype…是单例还是其他
- 对象属性
- 构造参数
- 自动封装模式
- 依赖检测模式
- 初始化方法
- 析构方法
IApplicationContext 实现类还允许容器外已经存在的类型的注册。这是通过使用IObjectFactory的属性ObjectFactory返回IObjectFactory的实现类DefaultListableObjectFactory来实现的。「这里感觉翻译的不通顺,大概的意思就是说,是使用IObjectFactory能够使一个容器使用不在这个容器中的类型。」如图:
注释内容:在给定对象名的情况下,在对象工厂中,注册已经存在的对象作为单例。