IOC、DI概念
1、创建对象交给了Spring容器
2、使用依赖对象的地方,交给了Spring容器,有Spring容器注入
IOC用途
1、对对象的构建管理
2、对象间的依赖绑定:对象间的依赖关系如何表示?
①直接编码方式 ②外部文件方式:xml、properties(BeanDefinitionReader的实现类读取配置信息映射到BeanDefinition,再将BeanDefinition注册到BeanDefinitionRegistry) ③元数据方式(注解方式)
Spring的IOC容器
Spring的两大IOC容器
1、BeanFactory:默认懒加载,启动快,需要的资源有限的情况下可以使用。
2、ApplicationContext:
FactoryBean
1、扩展容器对象实例化逻辑的接口,是一个生产bean的工厂,当我们的类中注入了FactoryBean,则获取的是FactoryBean生产的对象,而不是FactoryBean本身。
2、如果要获取FactoryBean本身,则需要加个“&”