Spring2.5 基于AspectJ风格的AOP问题

胡乱捣鼓了一下,发现个问题。

 

我们知道,基于AspectJ风格的AOP,在声明一个通知时,可以绑定连接点的参数。

如下:

    // 声明一个前置通知。
    @Before("before1()&& args(arg1)")
    public void say0(JoinPoint point,Object arg1){

          //一些处理操作。

          System.out.println(arg1);

    }

 

 

那么,在这个例子中,无论目标对象中的方法是什么类型的参数都可以被绑定并调用。

问题也就是在于此。

我们也知道,int等类型是不继承于Object类型的。

但是假如目标对象的方法中是int参数,那么,在这个通知里,应该出现一个类型转换错误才对。

可事实上,不但没有错误,而且int参数还能被输出。

 

究竟里面的实现代码是怎么做到的呢?

希望看到这个文章的达人能指教一下。。

呵呵(本人近来有点忙,只能以后再弄了。)

你可能感兴趣的:(spring,AOP,object)