细说Spring——IoC详解(XML配置一)

本文详细探讨了Spring IoC容器的XML配置文件,包括配置文件的作用、核心标签`<beans>`及其属性,以及`<bean>`标签的详细使用,如构造器注入、setter注入等。同时,文章介绍了`<property>`、`<ref>`、`<value>`等子标签,阐述了如何进行依赖注入和对象引用。内容深入浅出,帮助读者理解Spring配置的精髓。
摘要由CSDN通过智能技术生成

在我们经过了:

的学习之后,已经对Spring的Ioc容器有了一定的了解,我们队容器如何创建对象有了细致的了解,接下来就是一些其他零零散散的东西,这一期就主要讲解Spring IoC容器的XML配置文件。

一、我们应该怎么理解和认识Spring的配置文件呢?

其实,Spring的配置文件是Spring容器对Bean进行生产以及关系注入的图纸,他是Spring的基础。如果我们没有配置文件的话,则Spring的容器将无从谈起。

Spring 的配置文件是用于指导 Spring 工厂进行 Bean 的生产、依赖关系注入及 Bean 实例分发的“图纸”, J2EE 程序员必须学会并灵活应用这份“图纸”,准确地表达自己的“生产意图”。它是一个或多个标准的XML文档,其ApplicationContext.xml是Spring的默认配置文件,当容器启动时找不到其他的配置文件时,则会尝试加载这个默认的配置文件。

Spring容器成功启动需要以下三方面的条件同时具备:

  • Spring的类包必须已经放在Spring的类容器下面
  • 应用程序应当为Spring提供完备的Bean的配置信息
  • Bean的类都已经放在Spring的类容器下面

Spring启动时读取应用程序提供的Bean的配置信息,并在Spring容器中生成一份相应的Bean的配置注册表,然后根据这张注册表来实例化Bean,装配好Bean之间的依赖关系,为上层应用提供准备就绪的运行环境。
而bean的配置信息就是Bean的元数据信息,他由以下五个方面来组成:

  • Bean的实现类
  • Bean的属性信息 比如:数据源的连接数,用户名和密码等等。
  • Bean的依赖关系 Spring根据依赖关系配置完成Bean之间的装配
  • Bean的行为配置 比如:生命周期范围以及生命周期各个过程的回调函数等
  • Bean的创建方式定义 主要说明是通过构造器还是工厂方法来构造Bean

接下来是他们之间的相互关系:
这里写图片描述
上面这些信息引用自:Spring学习(十二)Spring 的配置文件概述

二、从<beans>标签开始

在我们知道了Spring的配置文件是什么之后,我们就开始自顶向下的逐步讲解Spring的配置文件中的标签,为什么要从<beans>标签开始呢,因为我们每一个类对应到配置文件中都是一个<bean>标签,而多个<bean>标签j就组成了<beans><beans>是XML配置文件中最顶层的元素,它下面可以包含0或者1个<description>和多个<bean>以及<import>或者<alias>,如图所示:
这里写图片描述

<beans>标签可以通过相应的属性对<bean>进行统一的默认行为配置,他的属性有一下几个:

  • default-lazy-init。其值可以指定为true或者false,默认值为false。用来标志是否对所
    有的进行延迟初始化。
  • default-autowire。可以取值为no、byName、byType、constructor以及autodetect。默
    认值为no,如果使用自动绑定的话,用来标志全体bean使用哪一种默认绑定方式。
  • default-dependency-check。可以取值none、objects、simple以及all,默认值为none,
    即不做依赖检查。
  • default-init-method。如果所管辖的按照某种规则,都有同样名称的初始化方法的
    话,可以在这里统一指定这个初始化方法名,而不用在每一个上都重复单独指定。
  • default-destroy-method。与default-init-method相对应,如果所管辖的bean有按照某种
    规则使用了相同名称的对象销毁方法,可以通过这个属性统一指定。
三、<description><import><alias>

1、<description>
可以通过<description>在配置的文件中指定一些描述性的信息。通常情况下,该元素是省略的。当然,如果愿意,<description>随时可以为我们效劳。

2、<import>
通常情况下,可以根据模块功能或者层次关系,将配置信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值