IOC 控制反转
IOC主要两种设计模式:1.BeanFactory为代表的容器
2.ApplicationContext为代表的应用上下文容器
IOC两种设计模式区别:1. BeanFactory提供最基本的IOC容器功能,是IOC容器的基本形式
2. ApplicationContext是IOC容器的高级表现形式,如支持不同的信息源,支持应用事件等。
IOC容器理解:1. IOC容器的底层数据结构就是一个Map(数组+单向链表+红黑树)集合,保存着各个Bean的定义,然后通过依赖注入等方式将这些Bean管理起来
2. 将 JavaBean 的控制权由开发者转交给 Spring 容器,由 Spring 容器全权维护该 JavaBean
依赖注入方式:1.构造器注入 2.属性注入 3.接口注入
BeanFactory设计模式实例
Student实体类:
StudentFactory实体类:
SpringXml文档配置文件:
测试(静态工厂):
结果:
测试(普通工厂):
结果: