首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tctc4869
V2EX  ›  Java

Java 有哪些基于对象的 Aop 拦截工具?

  •  
  •   tctc4869 · 15 天前 · 804 次点击

    webMVc 和持久层调用中,都会有拦截器功能,一个对象,最终要调用的某个方法,但之前要会被很多拦截器拦截。有没有专门做这种基于对象的 aop 拦截的工具类呢?

    那种把扫描一个包,一个类,为每个方法都注入 aop 切面的 aop,这个 aop 功能太高级了,操作比较复杂。

    我需要的是专门用于拦截对象的 aop 工具,类似 Web 拦截器那种,例如 Spring MVC 里的拦截器,的目就是拦截 HttPServletRequest 对象。根据开发者定制的流程配置决定是否放行,进入下一个 web 组件(下一个拦截器或最终的请求处理方法)

    我想为我编写的小框架的某个流程处理,为某个类型的对象,增加拦截器功能。调用拦截器处理方法,在方法代码内根据开发者编码配置决定是否放行,或阻止下一步前进。有专门做这个的 aop 拦截组件么,比较好用的是哪个?

    imzhoukunqiang
        1
    imzhoukunqiang   15 天前
    我感觉你想要动态代理?甚至静态代理就行了?
    tctc4869
        2
    tctc4869   15 天前
    @imzhoukunqiang 想要的是类似 Spring mvc 的拦截功能,就拦截对象就行,但是拦截对象,我自己去定义,但是 Spring MVC 那个方式我可以模仿一个出来,但是感觉不太好用,因为用的是拦截三个方法控制拦截流程,如果能在一个方法里完成拦截流程(调用 Invoke 进入下一个拦截器或拦截结束)控制就好了。
    tctc4869
        3
    tctc4869   15 天前
    @imzhoukunqiang 想到 asp.net,我才发现我的拦截器设计策略应该是有问题的,我觉得应该像 asp.net 的过滤器一样,把拦截器分成几个类,而不是像 Spring MVC 一样,把异常,前置拦截,后置等,都堆在一个类里
    Kaiv2
        4
    Kaiv2   15 天前 via Android
    看下 spring 的 aop 吧,符合你的需求
    hand515
        5
    hand515   15 天前 via Android
    看得我好费劲。。。。
    spring aop
    aspectj
    动态代理
    以上三个关键字搜,能找到一堆满足你的需求的文章
    xuanbg
        6
    xuanbg   14 天前
    看了半天也没明白楼主在说啥。。。拦截对象的意思是一旦实例化某个特定类型就先拦截,然后在拦截器里面处理完了再实例化?那不如这个类型的构造函数里面处理这个逻辑好了。还是类型已经实例化,但在调用对象方法时候进行拦截?这种策略模式就解决了,要什么 aop 。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3138 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 11:56 · PVG 19:56 · LAX 04:56 · JFK 07:56
    ♥ Do have faith in what you're doing.