问答详情
源自:2-1 使用AOP处理请求(上)

AOP和过滤器的区别

AOP和我们的过滤器用法 有什么不同? 都可以提前拦截 做处理

提问者:翻了身的咸鱼 2018-08-06 22:29

个回答

  • hemimTNT
    2018-08-13 20:49:00
    已采纳

    aop和过滤器都不处理业务。区别是aop可以穿插在方法调用前,return,异常,甚至是对象的实例化。而过滤器只能用在请求前。根本来说,aop利用代理来实现,而过滤器只是一个前置条件判断。

  • 拟猿
    2021-07-09 10:49:33

    面向切面拦截的是类的元数据,相对于拦截器更加细致灵活,拦截器只能针对URL做拦截,而AOP针对具体的代码,能够实现更加复杂的业务逻辑。Spring AOP和拦截器一样,都是AOP的实现方式的一种,均使用代理模式实现。Spring AOP的注解有@Before、@After、@AfterReturning、@AfterThrowing、@Around,可以更灵活的配置要监听处理的Bean。拦截器只对action负责,作用层面一般位于Controller层,Spring AOP主要是拦截对Spring管理的Bean的访问,一般作用与Service层。


  • 慕粉3388790
    2018-08-07 18:48:54

    AOP是一种编程思想,把相同的代码抽取出来,过滤器只是过滤请求,把不符合条件的请求过滤掉,不处理业务