Replace Method
这是一个Spring提供的可以对指定Bean的方法进行替换的功能。
待替换类的方法:
public class MyValueCalculator {
public String computeValue(String input) {
// some real code...
}
// some other methods...
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
替换成的方法,需要实现MethodReplacer接口:
public class ReplacementComputeValue implements MethodReplacer {
public Object reimplement(Object o, Method m, Object[] args) throws Throwable {
// get the input value, work with it, and return a computed result
String input = (String) args[0];
...
return ...;
}
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
通过xml注入到目标类:
<bean id="myValueCalculator" class="x.y.z.MyValueCalculator">
<!-- arbitrary method replacement -->
<replaced-method name="computeValue" replacer="replacementComputeValue">
<arg-type>String</arg-type>
</replaced-method>
</bean>
<bean id="replacementComputeValue" class="a.b.c.ReplacementComputeValue"/>
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
编辑 (opens new window)
上次更新: 2023/04/09, 16:34:32