IOC容器不是人类,无法像酒吧服务生一样通过大脑记忆对象之间的依赖关系。因而,它需要寻求其他方式记录对象的依赖关系
主流的IOC容器使用的注册对象管理信息方式有以下几种:
- 直接编码
- 配置文件方式
- 元数据方式
对于直接编码的方式
核心思路是:
为相应的类指定对应的具体实例,告知Ioc容器,当我们需要这种类型对象实例,把容器中注册的对应的具体实例返回。
其下是一段伪代码:
IoContainer container=....;
container.register(A.class,new A());
....
container.get(A.class)
当数据为接口注入的时候,多了一步接口注入的绑定过程,其下是伪代码,模拟其管理接口注入对象关系的过程:
IoContainer container=....;
container.register(A.class,new A());
container.bind(B.class,container.get(A.class));
....
container.get(B.class)
配置文件方式:
关系载体文件格式有普通文本文件 ,properties文件,xml文件等。最常见的是xml文件。
配置文件格式:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://