Spring XmlBeanFactory分析

XmlBeanFactory使用:

StuService stuService = (StuService) new XmlBeanFactory(new ClassPathResource("app-context.xml")).getBean("stuService");

XmlBeanFactory继承DefaultListableBeanFactory,DefaultListableBeanFactory是一个很重要的Ico实现,在其Ioc容器中,比如AppicationContext, 其实实现的基本原理和XmlBeanFactory一样,也是通过持有扩展DefaultListableBeanFactory来获取基本的Ioc容器的功能的。在XmlBeanFactory的构造方法中需要得到Resource 对象。对XmlBeanDefinitionReader对象的初始化,以及使用这个对象来完成loadBeanDefinitions的调用。

 public class XmlBeanFactory extends DefaultListableBeanFactory {
    	private final XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(this);
    	public XmlBeanFactory(Resource resource) throws BeansException {
    		this(resource, null);
    	}
    	public XmlBeanFactory(Resource resource, BeanFactory parentBeanFactory) throws BeansException {
    		super(parentBeanFactory);
    		this.reader.loadBeanDefinitions(resource);
    	}
    }
ClassPathResource类结构:AbstractResource继承Resource,AbstractFileResolvingResource实现AbstractResource,ClassPathResource实现AbstractFileResolvingResource
阅读更多
个人分类: Spring
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭