博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring 源码阅读之BeanFactory
阅读量:5064 次
发布时间:2019-06-12

本文共 2433 字,大约阅读时间需要 8 分钟。

1. BeanFactory 的结构体系如下:

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 getBean(String name, Class
requiredType) throws BeansException;
T getBean(Class
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 fileBeanFactory bf = new XmlBeanFactory(reource);bf.getBean("beanName");

转载于:https://www.cnblogs.com/tangyanbo/p/4283506.html

你可能感兴趣的文章
《梦断代码》读书笔记(三)
查看>>
Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作
查看>>
[Unity3D]Unity3D游戏开发MatchTarget的作用攀登效果实现
查看>>
AngularJS学习篇(一)
查看>>
关于Xshell无法连接centos6.4的问题
查看>>
css3动画——基本准则
查看>>
输入月份和日期,得出是今年第几天
查看>>
pig自定义UDF
查看>>
Kubernetes 运维学习笔记
查看>>
spring security 11种过滤器介绍
查看>>
代码实现导航栏分割线
查看>>
大数据学习系列(8)-- WordCount+Block+Split+Shuffle+Map+Reduce技术详解
查看>>
【AS3代码】播放FLV视频流的三步骤!
查看>>
枚举的使用
查看>>
luogu4849 寻找宝藏 (cdq分治+dp)
查看>>
日志框架--(一)基础篇
查看>>
关于源程序到可运行程序的过程
查看>>
转载:mysql数据库密码忘记找回方法
查看>>
scratch少儿编程第一季——06、人在江湖混,没有背景怎么行。
查看>>
【贪心+DFS】D. Field expansion
查看>>