spring中的方法注入详解
来源:互联网 发布:守望先锋数据 编辑:程序博客网 时间:2024/06/13 20:33
spring中的方法注入详解
lookup-method
当单例的BeanA,需要注入一个非单例的BeanB时,希望每一次调用BeanB都会返回一个全新的BeanB实例,但是由于BeanA只实例化了一次,导致每次调用BeanB时,返回的都是同一个BeanB。
- 一般来说,通过让BeanA实现BeanFactoryAware接口,让BeanA有直接访问IoC容器的能力,来解决上述问题。
public BeanB getBeanB(){ return (BeanB)factory.getBean("beanB");}
该实现方法,让Bean的定义与Spring框架直接绑定在一起,破坏了软件工程中低耦合的原则,不提倡。
- 使用lookup-method:lookup-method的实现依赖于java的cglib类包,所以使用lookup-method必须要导入该包。
public abstract BeanA{ abstract BeanB getBeanB();}<bean id="beanB" class="***" scope="prototype"/><bean id="beanA" class="***.BeanA"> <!--每次调用getBeanB时,都会产生一个新的BeanB对象--> <lookup-method name="getBeanB" bean="beanB"/></bean>
replaced -method
目标:使用BeanB中的方法,来替换BeanA的某一个方法。
- BeanB实现MethodReplacer接口
- 在BeanB的定义中实现MethodReplacer中的reimplement方法
- 在配置文件中指定BeanA被替换的方法
public class BeanA(){ public *** hello(){ ... }}public class BeanB implements MethodReplacer{ public Object reimplement(Object arg0, Method arg1,Object[] arg2){ ... }}<bean id="beanB" class="***"/><bean id="beanA" class="***"> <replaced-method name="hello" replacer="beanB"></replaced-method></bean>
以上为博主个人对spring方法注入的简单理解,如有不到之处,欢迎批评指正。
阅读全文
0 0
- spring中的方法注入详解
- spring中的setter方法注入
- spring中的依赖注入方法
- Spring学习04--注入、依赖、方法注入详解
- 【Spring】--Spring方法注入
- 【Spring】--Spring方法注入
- spring注入方式详解
- Spring依赖注入详解
- Spring注入方式详解
- Spring依赖注入详解
- spring 注入详解
- Spring IOC注入详解
- Spring中的属性注入
- Spring中的依赖注入
- Spring中的依赖注入
- Spring中的依赖注入
- Spring中的依赖注入
- Spring中的注入理解
- 椭圆曲线密码学相关概念与开源实现
- 分布式缓存Redis Centos下单节点安装
- webfrom下载文件
- Adreno Profile 介绍使用及自定义工具
- 关于Unity3D 引用类型变量new之后,任然为null 的 解决办法.
- spring中的方法注入详解
- 【模板】FFT
- NOIP 2014 联合权值 [DFS]
- 聚合类,字面值类型,constexpr函数
- Java多线程(七):Callable和Future
- JS实现点击目录名变换颜色的效果实例
- Hbuilder MUI 页面刷新及页面传值问题
- POJ
- TortoiseSVN与VisualSVN Server搭建SVN版本控制系统