Spring-AOP(Aspectj)面向切面

Spring-AOP

AOP:面向切面编程,相对于OOP面向对象编程
AOP主要的目的是为了解耦。
在OOP中是能通过继承类和实现接口,而这样的代码耦合性就会相对较高,而且继承只能是单继承,阻碍了更多的行为。
AOP可以让一组类(一个切面)共享相同的行为,弥补了OOP的不足。
Spring支持Aspectj的注解式面向切面编程

添加依赖至POM文件

这里写图片描述


基于注解方式拦截

编写拦截规则的注解@Action
这里写图片描述
编写切面配置类
这里写图片描述
编写被拦截的方法,使用@Action注解方法
这里写图片描述
在配置类上加上@EnableAspectJAutoProxy开启Spring对Aspectj的支持
这里写图片描述
运行
这里写图片描述

基于Java方式拦截

编写被拦截的方法
这里写图片描述
编写拦截规则
这里写图片描述
运行
这里写图片描述

相对于基于Java的拦截方式,基于注解的方式能更好的的控制拦截的粗细粒度,并能获取更多的信息。

猜你喜欢

转载自blog.csdn.net/Holle_123/article/details/82626220
今日推荐