Spring结构大概 博客分类: 源码 springBeanFactorygetBean
三大组件:Bean,Context,Core
通过这三大组件能构建出像AOP,Web,Transaction,Orm特性功能
Bean组件的主要部分是BeanFactory、BeanDefinition、BeanDefinitionReader
1、BeanFactory分为ListableBeanFactory表示可以返回一些Bean集合,HierarchicalBeanFactory使得Spring具有了父子级联的IOC容器,AutowireCapableBeanFactory设置Bean里面的autowire自动装配值,比如autowireBean(Object bean)
功能最全,也是Spring容器(默认XmlWebApplicationContext)默认的内部factory是DefaultListableBeanFactory
2、BeanDefinition就是包含<bean>节点中的所有信息,后面的操作都是对这个对象进行的
3、BeanDefinitionReader就是对配置文件进行解析的部分
Context就是给Bean提供一个运行时环境,保存他们之间的关系状态等。
1、*父类ApplicationContext,比较重要的子类就是ConfigurableApplicationContext,提供ApplicationListener、BeanFactoryPostProcessor、parent application context的注入;提供context的刷新功能;提供factory对象用于创建bean。
2、默认的Spring容器叫XmlWebApplicationContext,
3、ApplicationContext还有ResourceLoader功能
4、ApplicationContext还是事件发布器
Core主要包括资源的访问
1、ResourceLoader和Resource