开发者社区> 问答> 正文

Spring AOP 切 dwr的问题

我想切一下dwr.jar中的一个类,用来将前台传入给dwr的参数打印出来。

请问这种需求spring aop能实现么,我试的时候,会出没有加bean的错误,也就是spring-aop只能对beans中的bean进行切面?而不能切外部的类,而必须加到bean中?

而且我实验的时候,spring-aop中配置好了的切点,只有通过spring的getBean引入(或类似)的方法引入的对象才能触发切点。

这一点太不灵活啦。

有高手能做来不。

另外,有通过其它方法实现对jar包中的某个类(没有源代码)进行监控的么?

展开
收起
a123456678 2016-03-16 11:49:02 3128 0
1 条回答
写回答
取消 提交回答
  • spring的代理实现分2种情况:1.如果被代理类实现了一个或多个接口,此时使用jdk自带的代理类也就是"java.lang.reflect.Proxy"来生成代理类,此时当我们从bean工厂取出这个bean时(即使用getBean(**)方法)得到的bean并不是原来定义的类的对象,而是被代理后的对象,这个对象实现了被代理类所实现的接口,所以可以被当作"接口实例"对待.2.当被代理没有实现任何接口,此时使用cglib来生成代理类,这个代理类是被代理类的子类,所以可以被当作定义时的类的对象对待.
    你出现这种情况很可能是因为对象已经被代理,而程序中没有用代理后正确的类型来接收这个代理对象造成的.

    2019-07-17 19:03:47
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多