课程
/后端开发
/Java
/Spring Boot进阶之Web进阶
AOP和我们的过滤器用法 有什么不同? 都可以提前拦截 做处理
2018-08-06
源自:Spring Boot进阶之Web进阶 2-1
正在回答
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是一种编程思想,把相同的代码抽取出来,过滤器只是过滤请求,把不符合条件的请求过滤掉,不处理业务
举报
《2小时学习Spring Boot》之进阶教程,针对Web方面的相关技巧
1 回答为啥不用过滤器呢,而非用aop呢
1 回答hibernate.validator.constraints和javax.validation.constraints区别
2 回答AOP这一课的问题
2 回答aop不打印
4 回答aop没用啊