Bean的解析主要是对Spring配置文件的解析:XmlBeanFactory和ClasspathXmlAppicationContext
ApplicationContext:接口实现
1.支持信息源,可以实现国际化(实现MessageSource接口)
2.访问资源(ResourcePatternResolveer接口)
3.支持应用事件.(实现ApplicationEventPublisher接口)
Bean对象在Spring实现中是以BeanDefinition来描述实现
IOC容器的初始化:
IOC初始化主要为:BeanDefinition的Resource资源定位,装载和注册三个过程
可以使用一个字符串配置Spring bean定义资源文件,也可以通过字符串数组
a. ClasspathResource res=new ClasspathResource("spring-mvc.xml,spring.xml");
b. ClasspathResouce res =new ClasspathResource(new String[]{"spring-mvc.xml","Spring.xml"})
AbstractApplicationContext的refresh函数载入Bean定义过程:
IOC容器对bean定义资源的载入是从refresh()函数开始,refresh()是模板方法,refresh()方法作用:在创建IOC容器前,如果已有容器存在,则需要把已有的容器销毁和关闭,以保证在refresh之后使用的新建立起来的IOC容器,refresh的作用类似于对IOC容器的重启,在新建立好的容器中对容器进行初始化,对bean定义资源进行载入.