三、Spring IOC 解析
-
在准备阶段做的操作,是为了提高框架的可扩展性。
-
Spring提供的框架可扩展性?
- 在对象创建之前添加某些功能。
- 在容器初始化之前添加某些功能。
- 通过监听器。在不同的阶段发生不同的事件,完成一些功能。(观察者模式)
- 抽象出一堆接口,进行扩展。
- 面向接口编程。
IOC与DI的关系
IOC (Inversion Of Control)是控制反转,也被称为DI(Dependency Injection)依赖注入。他是对象定义其依赖关系的过程。对象只
和构造参数,工厂方法参数,对象实例属性或工厂方法返回相关。
(一)重要接口
- BeanFactory: 能管理任何类型的对象。提供了配置框架和基本功能。
- ApplicationContext:表示Spring IoC容器,并负责实例化、配置和组装bean。
(二)配置元数据(Configuration Metadata)
定义:程序员告诉Spring容器在应用程序中怎样实例化、配置和组装对象。即配置文件。
配置元数据有三种形式:XML形式、注解形式、Java配置类(需要借助 @Configuration, @Bean, @Import, 和 @DependsOn 这几个注解)。