package com.astute.sparrow.spring.ioc.method_injection;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.BeanFactoryAware;
import org.springframework.beans.factory.ObjectFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
@Component("a")
public class A implements BeanFactoryAware {
@Autowired
@Qualifier("b")
private B b;
private BeanFactory factory;
private ObjectFactory objectFactory;
public void printB() {
System.out.println(getB());
}
public void setObjectFactory(ObjectFactory objectFactory) {
this.objectFactory = objectFactory;
}
public B getB() {
//return (B) factory.getBean("b");
//return (B) objectFactory.getObject();
return b;
}
public void setB(B b) {
this.b = b;
}
@Override
public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
this.factory = beanFactory;
}
}
package com.astute.sparrow.spring.ioc.method_injection;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
@Component("b")
@Scope("prototype")
public class B {
}
<bean id="b" class="com.astute.sparrow.spring.ioc.method_injection.B" scope="prototype"/>
<bean id="a" class="com.astute.sparrow.spring.ioc.method_injection.A">
<property name="b" ref="b"/>
<replaced-method name="printB" replacer="aMethodReplacer"/>
</bean>
<bean id="aMethodReplacer" class="com.astute.sparrow.spring.ioc.method_injection.AMethodReplacer"/>
BeanFactory factory = new XmlBeanFactory(new ClassPathResource(
"com/astute/sparrow/spring/ioc/method_injection/spring-methodreplacer.xml"));
A a = (A) factory.getBean("a");
a.printB();
a.printB();
a.printB();
输出:
写道
wo do nothing this time...
wo do nothing this time...
wo do nothing this time...
分享到:
相关推荐
《WORD 常用查找与替换实例及方法》(作者:tangqingfu)
ultraedit替换方法 正则表达式 替换
源代码示例: 两个Project,其中一个作为...Xposed注入的程序,运行后,将宿主程序中的一个方法替换掉。宿主程序依然正常运行,但是输出信息却被篡改。 XPosed注入程序解除运行状态后,宿主程序运行正常,信息完好。
JSP开发之Spring方法注入之替换方法实现 ...替换方法实现机制的核心是MethodReplacer接口,其中定义了一个reimplement ()方法,我们的替换方法实现的主要逻辑就是在该方法中实现的, 具体定义如下: public inte
查找替换所以符合条件字符的写法 替换第一个匹配的字符串,相信这个大家都已经很精通了。在这里就不举例子了。
解决jlink盗版替换的文件和方法 解决jlink盗版替换的文件和方法 解决jlink盗版替换的文件和方法 解决jlink盗版替换的文件和方法
以上这篇替换python字典中的key值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:对python字典元素的添加与修改方法详解python 字典修改键(key)的...
QTools多文件文字批量替换是一款非常好用的CAD文字查找替换工具,支持单行文字、多行文字、属性块文字,支持AutoCAD2004~2024所有版本。 插件支持模糊匹配、精准匹配、开图替换、不开图替换、可自定义多重替换条件...
在winform中使用方法替换Word中的指定字符的一个方法
超级批量文本替换 软件名称:超级批量文本替换(BatchTextReplace) 版本: 4.0 功能说明: 1.段落文字的批量替换(一行及整段文字的替换) 2.特征字符串之间的批量替换(模糊替换) 3.支持所有ANSI字符文本类型(可自定义...
本文实例讲述了Jquery动态替换div内容及动态展示的方法。分享给大家供大家参考。具体分析如下: 一、问题: 项目中需要在后台拼接html然后在前台通过ajax展示到div中: 复制代码 代码如下:sys_ajaxGet(“/dynamic/...
基于网格优化的图像纹理替换方法 基于网格优化的图像纹理替换方法
基于AutoCAD-VBA的多重查找和替换方法探讨.pdf
amd安装mac终极方法,mac替换amd内核补丁方法,给那些苦苦折腾mac系统的amd粉丝。
网上有很多下载主题文件的地方,但是如果你不会替换方法也是不行的, 我这里是替换主题的大气层插件; 视频教程; 文档教程(如果安装是报错,可以看文档最后面)。 大气层主题也可以自己制作,我还有全套的制作视频...
方法的替换(不同类)
只支持“方法体内代码热替换”
文本替换专家文本替换专家文本替换专家文本替换专家文本替换专家文本替换专家文本替换专家文本替换专家
DOS文本替换DOS文本替换DOS文本替换DOS文本替换DOS文本替换DOS文本替换DOS文本替换DOS文本替换DOS文本替换DOS文本替换
/* 定义替换对象键值 */ var setReferArgs = function(){ var referArgs = new Object(); referArgs['#userID\#'] = userId; referArgs['\#userName\#'] = userName; return referArgs; } /* 替换URL的参数 */ ...