我们是如何将我们自己的bean纳入了容器的管理范围内的呢?上节课的讲解过程中我们知道了通过一个例子进行相关的探究,这次我们针对于如何将自己的bean纳入到容器的管理中。通常情况下有两种方式:xml配置文件和spring特性也就是注解。
1. xml配置文件
Spring IoC容器将读取配置元数据;并通过它对应用中各个对象进行实例化、配置以及组装,通常情况下我们使用简单直观 的XML来作为配置元数据的描述格式。在XML配置元数据中我们可以对那些我们希望通过 Spring IoC容器管理的bean进行定义。
那么什么是bean呢?
在Spring中,那些组成你应用程序的主体(backbone)及由Spring IoC容器所管理的对象,被称之为bean。 简单地讲,bean就是由Spring容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了。而bean定义以及bean相互间的依赖关系将通过配置元数据来描述。
而Spring的IOC容器负责我们上述所描述的bean并且进行相应的管理,在Spring中,BeanFactory是IoC容器的核心接口。 它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。
基于XML的元数据是最常用到的配置元数据格式,下面我们来看看吧~
Xml配置元数据源
将XML配置文件分拆成多个部分是非常有用的。为了加载多个XML文件生成一个ApplicationContext实例,可以将文件路径作为字符串数组传给ApplicationContext构造器。而bean factory将通过调用bean defintion reader从多个文件中读取bean定义。
<span style="font-family:Microsoft YaHei;font-size:14px;"><strong><beans>
<import resource="services.xml"/>
<import resource="resources/messageSource.xml"/>
<import resource="/resources/themeSource.xml"/>
<bean id="bean1" class="..."/>
<bean id="bean2" class="..."/>
</beans></strong></span>
这样的好处是即使我们的配置文件包含着多个,但是我们在web.xml下只是需要配置一个即可。这样是不是很方便呢,并且如果需要其他的模块配置文件,只是需要修改配置文件即可,不用重新编译整个的工程。
在容器内部,这些be