IOC的作用
维护对象之间复杂的依赖关系,降低系统实现成本,A->B->C->D
构建对象方式
无参构造
有参构造
静态工厂:通过参数控制创建对象的类型,用于AB测试
FactoryBean:如spring继承mybatis的SqlSessionFactoryBean,用于spring继承第三方
注入方式
set方法注入
构造方法注入
自动注入(byName、byType)
生命周期
init-method、destroy-method
InitializingBean.afterPropertiesSet、DisposableBean.destroy
加载方式
默认是非懒加载,选择哪一种看是看中的是启动速度还是更早的发现错误
问题
- Bean工厂如何生产Bean的
- Bean的依赖关系是谁来解决的
- Bean工厂和引用上下文的区别