applicationcontext获取bean_Spring的基本原理-容器和bean

v2-1bda4b05c75a75ed65fcd79b509b5257_1440w.jpg?source=172ae18b

在Spring中,那些组成你应用程序的主体及由Spring Ioc容器所管理的对象,都被称之为bean。简单来讲,bean就是Spring容器的初始化、配置及管理的对象。除此之外,bean就与应用程序中的其他对象没有什么区别了。而bean定义以及bean相互间的依赖关系将通过配置元数据来描述。

容器:

org.springframework.beans.factory.BeanFactory是Spring Ioc容器的实际代表者,Ioc容器负责容纳此前所描述的bean,并对bean进行管理。

在Spring中,BeanFacyory是Ioc容器的核心接口。它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。

Spring为我们提供了许多易用的BeanFactory实现,XmlBeanFactory就是最常用的一个。该实现将以XML方式描述组成应用的对象以及对象间的依赖关系。XmlBeanFactory类将获取此XML配置元数据,并用它来构建一个完全可配置的系统或应用。

v2-6fea80b111a59be419b6886f605ad585_b.jpg

从上图可以看到,Spring Ioc容器将读取数据元配置,并通过它来对应用中各个对象进行实例化、配置及组装。通常情况下我们使用简单直观的XML来作为配置元数据的描述格式。在XML配置元数据中我们可以对那些我们希望通过Spring Ioc容器管理的bean进行定义。

注:Spring Ioc容器至少包含一个bean定义,但大多数情况下会有多个bean定义。bean定义与应用程序中实际使用的对象一一对应。通常bean的定义包括:服务处对象、数据访问层对象、类似Struts Action的表示层对象、Hibernate SessionFactory对象、JMS Queue对象等等。通常bean的定义并不与容器中的领域对象相同,因为领域对象的创建和加载必须依赖具体的DAO和业务逻辑。

以下是一个基于XML的配置元数据的基本结构:

v2-e376ccc58688d4caa9eb4613dfa44bea_b.jpg

Spring Ioc容器的实例化:

v2-99fbc13c0ae548bb8a5569e93f7cffaf_b.jpg

XML配置元数据的结构:将XML配置文件拆分成多个部分是非常有用的。为了加载多个XML文件生成一个ApplicationContext实例,可以将文件路径作为字符串组传给ApplicationContext构造器。而beanFactory将通过bean defintion reader从多个文件中读取bean定义,这中方式各个配置并不会查觉到它们与其他配置文件的组合。另外一种方式就是使用一个或者多个<import/>元素来从另外一个或多个文件加载bean文件。所有的<import/>元素必须在<bean/>元素之前完成bean定义的导入。例子:

v2-64de27079b15dd291ca396e25b541293_b.jpg

需要注意的就是根据Spring XML配置文件的Schema,被导入的文件必须是完全有效的XML bean定义文件,且跟节点必须是<beans/>元素。

PS.【1】想领取java相关知识可以关注我下方评论转发后,私信“资料”。

【2】部分资料有时间限制,抓紧时间吧~、

感谢大家支持!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值