Spring基础原理学习整理8条

DefaultListableBeanFactory是beanFactory体系里面最后一个子类,也是唯一的操作类,唯一的实现。DefaultListableBeanFactory继承了

AbstractAutowireCapableBeanFactory,实现了ConfigurableListableBeanFactory,BeanDefinitionRegistry。

resolvableDependencies用来保存spring中自己的bean。这样隔离系统bean与业务bean。

BeanFactory与FactoryBean的区别
BeanFactory是个Factory,也就是IOC容器或对象工厂,FactoryBean是个Bean。在Spring中,所有的Bean都是由
BeanFactory(也就是IOC容器)来进行管理的。但对FactoryBean而言,这个Bean不是简单的Bean,而是一个能生产
或者修饰对象生成的工厂Bean,它的实现与设计模式中的工厂模式和修饰器模式类似。

BeanFactory和ApplicationContext是Spring的两大核心接口,而其中ApplicationContext是BeanFactory的子接口。
它们都可以当做Spring的容器,Spring容器是生成Bean实例的工厂,并管理容器中的Bean。在基于Spring的Java EE应用中,
所有的组件都被当成Bean处理。

我们一般称BeanFactory为IoC容器,而称ApplicationContext为应用上下文。

Spring容器最基本的接口就是BeanFactory。BeanFactory负责配置、创建、管理Bean。
它有一个子接口ApplicationContext,也被称为Spring上下文,容器同时还管理着Bean和Bean之间的依赖关系。

spring scope
singleton
prototype
prototype作用域部署的bean,每一次请求(将其注入到另一个bean中,或者以程序的方式调用容器的getBean()方法)都会产生一个新的bean实例,相当与一个new的

操作,对于prototype作用域的bean,有一点非常重要,那就是Spring不能对一个prototype bean的整个生命周期负责,容器在初始化、配置、装饰或者是装配完一个

prototype实例后,将它交给客户端,随后就对该prototype实例不闻不问了
request
request表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP request内有效.
session


BeanFactory的三个子接口:

1. HierarchicalBeanFactory:提供父容器的访问功能

2. ListableBeanFactory:提供了批量获取Bean的方法

3. AutowireCapableBeanFactory:在BeanFactory基础上实现对已存在实例的管理.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章