Spring 源码阅读之BeanFactory
2015-02-10 12:14
627 查看
1. BeanFactory 的结构体系如下:
2. XmlBeanFactory ,装载Spring配置信息
3. BeanFactory 接口
4. 运用实例:
2. XmlBeanFactory ,装载Spring配置信息
package org.springframework.beans.factory.xml; import org.springframework.beans.BeansException; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.core.io.Resource; public class XmlBeanFactory extends DefaultListableBeanFactory { private final XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(this); /** * Create a new XmlBeanFactory with the given resource, * which must be parsable using DOM. * @param resource XML resource to load bean definitions from * @throws BeansException in case of loading or parsing errors */ public XmlBeanFactory(Resource resource) throws BeansException { this(resource, null); } /** * Create a new XmlBeanFactory with the given input stream, * which must be parsable using DOM. * @param resource XML resource to load bean definitions from * @param parentBeanFactory parent bean factory * @throws BeansException in case of loading or parsing errors */ public XmlBeanFactory(Resource resource, BeanFactory parentBeanFactory) throws BeansException { super(parentBeanFactory); this.reader.loadBeanDefinitions(resource); } }
3. BeanFactory 接口
package org.springframework.beans.factory; import org.springframework.beans.BeansException; public interface BeanFactory { String FACTORY_BEAN_PREFIX = "&"; Object getBean(String name) throws BeansException; <T> T getBean(String name, Class<T> requiredType) throws BeansException; <T> T getBean(Class<T> requiredType) throws BeansException; Object getBean(String name, Object... args) throws BeansException; boolean containsBean(String name); boolean isSingleton(String name) throws NoSuchBeanDefinitionException; boolean isPrototype(String name) throws NoSuchBeanDefinitionException; boolean isTypeMatch(String name, Class targetType) throws NoSuchBeanDefinitionException; Class<?> getType(String name) throws NoSuchBeanDefinitionException; String[] getAliases(String name); }
4. 运用实例:
Resource reource = null;//load spring configure file BeanFactory bf = new XmlBeanFactory(reource); bf.getBean("beanName");
相关文章推荐
- Spring 源码阅读-BeanFactory
- Spring 源码阅读之BeanFactory
- Spring源码阅读-ApplicationContext对BeanFactory的增强
- Spring源码阅读-使用ProxyFactoryBean实现AOP
- Spring源码阅读-BeanFactory-循环依赖
- Spring 源码阅读 BeanFactory(三) 对象的初始化 singleton 草稿
- Spring 源码阅读 BeanFactory(二) 之registerBeanDefinition方法
- Spring源码阅读-DefaultListableBeanFactory的属性注释翻译
- spring beans源码解读之--BeanFactory的注册
- spring的BeanFactory和ApplicationContext源码详解(一)
- 菜鸟看spring源码(0)之BeanFactory的注册与依赖绑定
- Spring源码学习-5.ProxyFactoryBean实现与源代码分析
- Spring源码之AbstractAutowireCapableBeanFactory
- spring beans源码解读之--XmlBeanFactory
- spring的BeanFactory和ApplicationContext源码详解(二)
- Spring BeanFactory getBean 源码剖析
- spring beans源码解读之 ioc容器之始祖--DefaultListableBeanFactory
- Bean实例化(Spring源码阅读)-我们到底能走多远系列(33)
- 【SSH进阶之路】Spring的IOC逐层深入——源码解析之IoC的根本BeanFactory(五)
- Spring源码阅读——获得bean