Java架构师之旅(十二)

夜光序言:

汪洋大海不缺鱼,

浩浩长空不缺鸟,

万花丛中不缺蝶,

我的世界不缺你。

 

 

正文:

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代码来实现

使用表达式来配置切入点~~

  1. 切入点:实际增强的方法
  2. 常用的表达式
  • execution(* cn.Genius.aop.Book.add(..))

对Book类中特定的add方法进行增强

  • execution(* cn.Genius.aop.Book.*(..)))

对Book类中所有方法进行增强

  • execution(* *.*(..)))

对所有类中所有方法进行增强

 

 

猜你喜欢

转载自blog.csdn.net/weixin_41987706/article/details/85282278