夜光序言:
汪洋大海不缺鱼,
浩浩长空不缺鸟,
万花丛中不缺蝶,
我的世界不缺你。
正文:
aop原理
下面就要开始有意思的东西了~~
Spring两个核心,一个ioc,一个aop
Aop底层原理和相关操作概念
说明这个不是spring一部分,是合起来使用嗯
2、使用aspectj进行aop操作,有两种方式:
① 基于aspectj的xml配置来完成
② 基于aspectj的注解方式来完成
AOP操作准备:
除了那些jar包之外,还需要其她jar包
https://mvnrepository.com/artifact/aopalliance/aopalliance/1.0
https://mvnrepository.com/artifact/org.aspectj/aspectjweaver
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <!-- bean definitions here -->
</beans>
我们把上面这个约束导入进去就可以了~~
使用表达式配置切入点
Aop的一个功能:增强类中的一个方法
我们还需要写一个增强的类~
我们用Aop代码来实现
使用表达式来配置切入点~~
- 切入点:实际增强的方法
- 常用的表达式
- execution(* cn.Genius.aop.Book.add(..))
对Book类中特定的add方法进行增强
- execution(* cn.Genius.aop.Book.*(..)))
对Book类中所有方法进行增强
- execution(* *.*(..)))
对所有类中所有方法进行增强