[Spring 源码] bean 加载机制

本文主要内容为: spring 如何通过 XmlBeanFactory 解析并注册 bean.xml 配置文件中的 bean。

bean.xml 配置文件为:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <bean id="quartzProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="locations" value="classpath*:properties/quartz/*.properties"/>
        <property name="fileEncoding" value="UTF-8"/>
    </bean>

</beans>

获取 bean 方式:

BeanFactory bf = new XmlBeanFactory(new ClassPathResource("bean.xml"));
Object obj = bf.getBean("quartzProperties");
System.out.println(obj);

输出为:
输出 bean

一、XmlBeanFactory

XmlBeanFactory

二、XmlBeanDefinitionReader

XmlBeanDefinitionReader-1

XmlBeanDefinitionReader-2

XmlBeanDefinitionReader-3

三、DefaultBeanDefinitionDocumentReader

DefaultBeanDefinitionDocumentReader-1

DefaultBeanDefinitionDocumentReader-2

注:此处 preProcessXml(root), postProcessXml(root) 为 模板方法模式,有需要时由用户自定义实现:

  1. preProcessXml() 为在解析 bean definition 之前处理
  2. postProcessXml() 为在解析 bean definition 之后处理

DefaultBeanDefinitionDocumentReader-3
此处分为 解析默认元素 和 自定义元素。

1.解析默认标签

解析默认标签

分为四种:

  1. import 标签
  2. alias 标签
  3. bean 标签
  4. beans 标签

未完待续。。。


相关文章:
什么是 DOM
模板方法模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值