啃Spring源码的开始

啃Spring源码的开始

千里之行,始于足下

N年没写过东西了,想起来大学的时候还是个文艺青年,如今一晃工作也一年多了orz
真的不想在此荒废,于是开始痛下决心已啃一啃望而生畏的传说中的spring源码

好吧,上来不得不贴一段已经废弃调的XmlBeanFactory实现类,虽然已经废弃,但是还是从这最开始看起好了,毕竟当初第一次开始学spring的时候还是各种配置xml

XmlBeanFactory继承自DefaultListableBeanFactory,是一个比较基本的容器实现。
1.首先XmlFactoryBean有一个成员变量XmlBeanDefinitionReader,这个对象可以从资源Xml文件中读取BeanDefinition信息,从而构造出定义的bean。

2。构造方法需要Resource对象作为参数,然后调用reder的loadBeanDefinitions完成从resource中加载BeanDefinition。

@Deprecated
public class XmlBeanFactory extends DefaultListableBeanFactory {
    //1
    private final XmlBeanDefinitionReader reader;
    //调第二个构造方法
    public XmlBeanFactory(Resource resource) throws BeansException {
        this(resource, (BeanFactory)null);
    }
   //2构造方法
    public XmlBeanFactory(Resource resource, BeanFactory parentBeanFactory) throws BeansException {
        super(parentBeanFactory);
        this.reader = new XmlBeanDefinitionReader(this);
        this.reader.loadBeanDefinitions(resource);
    }
}

DefaultListableBeanFactory是一个很重要的Ioc实现
也可以用DefaultListableBeanFactory来实现

ClassPathResource res = new ClassPathResource(bean.xml);
DefaultListableBeanFactory factory = new DefaultListableBeanFactory();
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(factory);
reader.loadBeanDefinitions(res);

这样就可以通过factory对象使用DefaultListableBeanFactory这个IoC容器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值