FactoryBean的理解
来源:互联网 发布:淘宝宝贝图片搬家 编辑:程序博客网 时间:2024/06/05 00:24
我们先来看下FactoryBean的接口定义:
所以:FactoryBean的核心就在于通过getObject方法可以获取的是它所生产的对象,所以我们在Proxy创建代理对象的时候就比较方便。还有一些bean,如果通过配置的方式,会显得比较麻烦和复杂,那么这时候适当的采用编码方式在某些场合下还是挺不错的。
我们下面就通过一个简单的例子来体验下getObject方法【讲道理,这里实际意义不多,重在理解方法含义】
假如:我们有个Person对象,里面包含 name,address,age。set、get方法不写了
那么如果我们要在Spring中配置该对象的话,需要这么配置:
那么现在我们可以通过getBean("personBean")来获取该对象。那么我们来看下如果通过实现FactoryBean以后该怎么写呢?来看下我们的PersonFactoryBean的代码: 我们看到,这里PersonFactoryBean实现了FactoryBean接口,那么自然也要实现它定义的方法。这里我们是通过一个personInfo字符串解析得到Person对象,那么我们在配置Spring的时候就可以这么配置: OK,那么这个时候我们getBean("personFactory")得到的就是Person对象而不是PersonFactoryBean对象。具体原理参考上面在IOC的应用,我们通过bean = getObjectForBeanInstance(sharedInstance, name, beanName, null)这个方法,具体调用到了getObject方法,所以结果很明显。
通过上面的小案例的代码,我们可以看到如果一个类实现了FactoryBean接口,那么getBean得到的不是他本身了,而是它所产生的对象,如果我们希望得到它本身,只需要加上&符号即可。至于FactoryBean的实际应用,需要大家去发现理解,后面如果有机会会继续聊聊这个东西。
阅读全文
0 0
- FactoryBean的理解
- Spring的FactoryBean接口理解
- BeanFactory 与 FactoryBean 概念的理解
- 理解spring中的BeanFactory和FactoryBean的区别与联系
- FactoryBean的工作方式
- 集合FactoryBean的配置
- spring的FactoryBean<T>
- FactoryBean的使用
- Spring的FactoryBean使用
- spring的FactoryBean
- FactoryBean的使用详解...
- Spring的FactoryBean详解
- spring 的 factoryBean
- FactoryBean的使用
- factorybean的解释
- Spring的FactoryBean接口
- FactoryBean
- Spring Bean的生命周期之我的理解(三)------BeanFactory和FactoryBean
- [HDU 1176] 免费馅饼 [ DP + 思维 ]
- 线段树lazy标记
- Python--uiautomator特殊情况
- 间接直接通过list链表中的位置获取数据
- java.net.UnknownHostException: XXX.COM: 未知的名称或服务
- FactoryBean的理解
- 不相交集ADT详解
- js截取url的参数,?号后面参数的几种方法
- iOS如何查看手机沙盒中的文件(GT生成文件)
- Android APP 简单高效的禁用横竖屏切换
- 线性代数2-线性方程组
- 从present的界面push到另一个界面
- 赢在面试之Java多线程
- 小白to大神 vim学习笔记