Spring-AOP实现

AOP的意义:就是让程序员专心的写业务代码,他可以把一个整体切面,程序员只需要写业务代码,非业务代码就可以让Aop来解决。

第一步:导入jar包

 

第二部:创建一个service类和他的实现类:

实现类里有一个输出语句

 

 

第三部:创建Spring的配置文件

到namespaces吧aop和context勾上,就能到配置文件里把组件扫描器扫描 ,声明切面类对象配置,MyAspectJ的代理机制给声明

第四部:创建一个切面(帮助程序员写那些非业务代码):

 

@Aspect:
 作用:修饰类为切面类
 位置:在类定义的上面
 切面类:把非核心代码,增强的代码,放到这个类中

 最后使用测试类来测试:

 总结:

1.AspectJ对AOP的实现

1.1:添加相关的jar包
1.2:AspectJ的通知类型
(1)前置通知
(2)后置通知
(3)环绕通知
(4)异常通知
(5)最终通知

1.3:定义切面类

定义方法,在方法上定义各种注解通知

切入点表达式规则:
execution(访问权限 方法返回值 方法名(参数) 异常类型)
切入点表达式要匹配的对象就是目标 方法的方法名

execution(* cn.lexed.service.*.*(..))
execution(* cn.lexed.service..*.*(..))

public * adduser(com.pb.entity.user):"*"表示匹配所有类型的返回值
public void *( com.pb.entity.user):"*"表示匹配所有方法名
public void adduser (..): ".."表示匹配所有参数个数和类型
* com.pb.service.*.*(..):匹配com.pb.service包下所有类的所有方法
* com.pb.service..*(..):匹配com.pb.service包及子包下所有类的所有方法。

posted @ 2023-10-22 20:51  牵机  阅读(19)  评论(0)    收藏  举报