AOP和我们的过滤器用法 有什么不同? 都可以提前拦截 做处理
aop和过滤器都不处理业务。区别是aop可以穿插在方法调用前,return,异常,甚至是对象的实例化。而过滤器只能用在请求前。根本来说,aop利用代理来实现,而过滤器只是一个前置条件判断。
面向切面拦截的是类的元数据,相对于拦截器更加细致灵活,拦截器只能针对URL做拦截,而AOP针对具体的代码,能够实现更加复杂的业务逻辑。Spring AOP和拦截器一样,都是AOP的实现方式的一种,均使用代理模式实现。Spring AOP的注解有@Before、@After、@AfterReturning、@AfterThrowing、@Around,可以更灵活的配置要监听处理的Bean。拦截器只对action负责,作用层面一般位于Controller层,Spring AOP主要是拦截对Spring管理的Bean的访问,一般作用与Service层。
AOP是一种编程思想,把相同的代码抽取出来,过滤器只是过滤请求,把不符合条件的请求过滤掉,不处理业务