C .轩 2008-08-31 18:54
浏览 226
已采纳

关于Spring实现aop中的xml

首先感谢各位高手在百忙之中点开小弟的帖子,
小弟刚刚涉足aop,遇到一问题,
在用Spring实现aop,
配置文件里面写了这样一句

老师讲的时候说的是,配置目标对象,

照这么说 是把一个目标类的对象配置给ProxyBeanFactory一个属性
可我打开ProxyBeanFactory.class这个类,并未发现有target这样的属性啊

等待高手解惑……

  • 写回答

2条回答

  • iteye_18036 2008-08-31 20:10
    关注

    在AdvisedSupport类里有个targetSource属性,其实,这个的name="target"的意思是调用setTarget方法,调用的具体方法如下:
    [code="java"]public void setTarget(Object target) {
    setTargetSource(new SingletonTargetSource(target));
    }

    public void setTargetSource(TargetSource targetSource) {
        this.targetSource = (targetSource != null ? targetSource : EMPTY_TARGET_SOURCE);
    }[/code]
    

    通过代码我们可以看到,通过调用AdvisedSupport类中的setTarget(Object target)方法,并且在此方法中,对传进来的对象进行了封装后,又将封装后的值作为setTargetSource方法的参数传进去,并且将值付给targetSource属性,在AdvisedSupport里是这样定义targetSource的,[code="java"]TargetSource targetSource = EMPTY_TARGET_SOURCE;[/code]可以看到,AdvisedSupport是将我们传进来的Bean最终封装成TargetSource对象。如果想更深入的了解,我建议楼主去看下Spring的源代码,最Spring学习很有帮助的。
    另外,纠正一个错误,不是ProxyBeanFactory类,是ProxyFactoryBean类。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料