Spring的aop操作
aop:
面向切面的编程,扩展功能不修改源代码。
操作术语:
连接点:在类里面那些方法可以被增强,这些方法称为连接点
1-切入点:在类里面可以有很多的方法被增强,比如实际操作中,只是增强了类里面的add方法和update方法实际增强的方法称为切入点。
2-通知/增强:增强的逻辑,称为增强。例如扩展日志的功能,这个日志功能就成为增强
前置通知:在方法之前执行
后置通知:在方法之前执行
异常通知:方法出现异常
最终通知:在后置之后执行
环绕通知:在方法之前和之后执行
3-切面:吧曾倩应用到具体方法上面,过程称为切面。
举例:把增强应用到切入点的过程
spring的aop操作:
1-在spring里面进行aop操作,使用aspectj实现
(1)aspectj不是spring一部分和spring一起使用进行aop操作
(2)spring2.0以后新增了对aspectj支持
2-使用aspectj实现aop 的两种方式
(1)基于aspectj的xml配置
(2)基于aspectj的注解方式
一:aop操作:(xml核心的配置方式)
1-除了导入基本的jar包以外还需要导入aop相关的jar包
2-xml核心的配置文件,导入aop约束
***使用表达式配置切入点:
1-切入点:实际增强的方法
2-常用的表达式
execution(<访问修饰符>?<返回类型><方法名>(<参数>)<异常>)
(1)execution(* com.hkd.Book.add(..))
(2) execution(* com.hkd.Book.*(..))
(3) execution(* *.*(..))
(4)匹配所有save开头的方法 execution(* sava*(..))
二:基于aspectj的注解aop:
1-使用注解方式实现aop操作,
第一步,创建对象
第二步,zai spring 核心配置文件中开启aop操作
第三步,在增强类上面使用注解完成aop