1、Ioc(Inverse of control,控制反转) 控制:指对象的控制权 反转:控制权从调用类中移除,由spring容器装配。是生成类对象的工作。
2、Ioc类型:构造函数注入;属性注入;接口注入
3、resource资源访问,配置文件等
4、BeanFactory和ApplicationContext
BeanFactory:是spring框架的基础,面向spring本身;ApplicationContext:面向使用spring框架的开发者,跟spring框架交互。BeanFactory
通过BeanFactory启动Ioc容器时,不会初始化bean,第一次调用时初始化。对于单例模式的bean,会缓存到HashMap中,key是beanname
ApplicationContext注解启动类:AnnotationConfigApplicationContext @Configuration注释的类
WebApplicationContext:
Bean配置信息定义了Bean的实现及依赖关系,spring容器在内部建立Bean定义注册表(一个个的BeanDeinition组成),然后根据注册表加载、实例化Bean,并建立Bean与Bean之间的依赖关系,最后将Bean实例放入Bean缓存池(单例)
BeanFactory和FactoryBean其实没有什么比较性的,只是两者的名称特别接近,所以有时候会拿出来比较一番,BeanFactory是提供了OC容器最基本的形式,给具体的IOC容器的实现提供了规范,加载、管理bean,FactoryBean可以说为IOC容器中Bean的实现提供了更加灵活的方式,FactoryBean在IOC容器的基础上给Bean的实现加上了一个简单工厂模式和装饰模式,我们可以在getObject()方法中灵活配置。其实在Spring源码中有很多FactoryBean的实现类,要想深入准确的理解FactoryBean,只有去读读Spring源码了。
网友评论