方法替换

   在Spring Io容器里,用户可以是用某个Bean的方法去替换另一个Bean的方法。

     在下面例子中,Boss1的getCar()方法,返回一辆宝马车z4;

      package com.lxm.injectfun;

     public class Boss1{

      public Car getCar(){

          Car car=new Car();

    car.setBrand("宝马z4")

    return car;

   }

}

   在Boss2实现了Spring的org.springframework.beans.factory.support.MethodReplacer接口jiekizai接口方法reimpliment(),返回一辆美人豹:

package com.lxm.injectfun;

import java.lang.reflect,Method;

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

public class Boss2 implements MethodReplacer{

    public Object reimplenent(Object arg0,Method arg1,Object[] arg2)

       throws Throwable{

          Car car=new CAR();

         car.setBrand("美人豹“);

         return car;

   }

}

用于替换他人的Bean 必须实现MethokReplacer接口,Spring 将利用该接口方法去替换目标Bean 的方法。下面,我们通过Spring IoC容器的“乾坤大挪移”术,用Boss2的方法替换Boss1的getCar():

<bean id="boss1" class="com.lxm.injiectfun.Boss1>

      <replaced-method name="getCar" replacer="boss2"/>

    </bean>

<bean id="boss2 class="com.lxm.injiectfun.Boss2"/>

   当从容器中返回boss1 Bean并调用其getCar()方法时,将返回一辆“美人豹”的Car,调用成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值