《Pro Spring》学习笔记之Method Replacement(方法替换)

本文介绍了Spring框架中的Method Replacement特性,这是一种特殊的注入方式,允许在不修改原始bean源代码的情况下替换bean方法的实现。通过创建MethodReplacer接口的实现并配置,可以灵活替换目标方法的行为。在示例中,演示了如何替换一个接收String参数的方法,并给出了测试结果。建议在使用时,针对每个方法单独创建MethodReplacer,以优化性能。
摘要由CSDN通过智能技术生成

spring文档把方法替换归为一种注入形式,不过它和你之前见过的注入有很大的不同,借助方法注入,我们可以任意替换bean方法的实现,同时无需改变你正在修改的bean之源代码

这是一个简单bean的实现

 

package  ch5.MethodReplace;

public   class  ReplacementTarget  {
   
public String fromMessage(String msg){
       
return msg;
   }

   
public int fromMessage(int msg ){
       
return 1;
   }

}

 

借助spring的方法替换,你可以替换ReplacementTarget类的任意方法,本例替换了String参数的fromMessage

首先,创造一个实现MethodReplacer接口的实现

 

package  ch5.MethodReplace;

import  java.lang.reflect.Method;

import  org.springframework.beans.factory.support.MethodReplacer;

public   class  FromMessageReplacement  implements  MethodReplacer  {

    
public Object reimplement(Object object, Method method, Object[] arg)
            
throws Throwable {
        
if(isFromMessageMethod(method))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值