IoC容器和依赖反转模式
IoC容器是实现依赖反转模式的一种载体,对于开发者来说好处
1.只需要了解服务的接口和依赖关系的配置
2.让应用开发对接口编程,而不是对类编程
DI模式优点是松散耦合和提高可测试性:一个对象通过其他接口(不是通过实现或实例化)只知道其依赖对象,且改依赖将使用一个不同的实现来交互,其依赖的对象并不知道这种变化。~~协调依赖对象之间的合作的责任从对象自身中转移出来。
IoC容器的初始化包括BeanDefinition的Resource定位、载入、注册。
通过编程式使用IoC容器,可以看出IoC容器的初始化包含BeanDefinition的Resources定位、载入和注册。
ClassPathResource res = new ClassPathResource("beans.xml");
DefaultListableBeanFactory factory = new DefaultListableBeanFactory();
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(factory);
reader.loadBeanDefinitions(res);
定位
载入
注册
类UML图
加载时序图
参考:
1:Spring源代码解析(一):IoC容器
http://www.iteye.com/wiki/Spring-source/1226-Spring%E6%BA%90%E4%BB%A3%E7%A0%81%E8%A7%A3%E6%9E%90(%E4%B8%80%EF%BC%89%EF%BC%9AIOC%E5%AE%B9%E5%99%A8
2:http://www.khotyn.com/2010/07/28/spring_ioc_container_init/