spring bean 根据xml文件 new XMLBeanFactory("xml文件")获取bean对象(javaBean),在这里面实例出来的bean经过aware接口处理和init处理和destory处理,同时也经过Post'P'ro'cessor处理器处理,
你可以根据factory.getBean()获取指定的bean,
但纯粹的spring-bean虽然要进行postprocessor处理但是并没有postProcessor处理器,
也就是说spring-bean只有根据beanfactory加载bean,
所以当你的程序是一个单纯的没有任何内容的应用,spring-bean可以提供的也只有帮你加载配置文件的组件bean,但是没有懒加载和和其他组件标签的处理,它只能提供spring-bean自带的一些标签解析,
spring-bean只能提供xmlBeanFactory加载bean简单处理,spring-context提供了对于beanfactory里的bean的扩展处理和beanfactory的额外处理以及其他扩展功能
我们在这里把xmlBeanfactory看作一个bean,再将xmlBeanFactory对bean的额外处理也看作一个简单的bean,beanFactory额外处理也和没处理一样看作一个bean,再将其他扩展功能也看一系列的bean的组成,所有的都看作bean,bean就是组件,spring-bean提供的是一个组件,主要是beanFactory,一个提供了创建组件的功能(,每个组件在自己的模块与其他组件协同作用)
spring-bean提供bean的简单处理,spring-context提供了对于beanFactory的额外处理,让他可以通过其他方式获取和解析bean,以及扩展
这里的接口有bean别名,bean,beanFactory,beanDefinition,看作beanFactory创建bean,bean有自身的beanDefinition和别名,一个组件,创建组件的beanFactory
而上下文有,时间发布,消息,资源处理,以及beanFactory
显而易见,上下文对简单的spring-bean,多了一些拓展组件,我们在这里不把上下文看作一个组件,看作一个整体环境,事实上他是一个bean,但是需要理解成环境,因为它的一些拓展组件,加上beanFactory就可以看作环境?那beanFactory也就不可以看作组件,而是看作工厂,工厂在环境中,工厂创建bean
而spring-core有什么?
它没有beanFactory或者spring-context需要的组件,但他提供一些工具组件,来协助beanFactory和spring-context的内部组件来工作,这一切都需要看作抽象,上下文,beanFatcory,beanFactory有什么,它有
bean bean的beanDefinition和别名,依赖,和bean创建和获取时需要的辅助数据结构,这些都是beanFactory的主要组件,这些组件的细节很多都是spring-core完成的,而如何完成与beanFactory直接关系,beanFactory只需关注如何运用自己的组件,同理,spring-context也可以这样看spring-core和context的关系,