AOP

Posted tsugar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AOP相关的知识,希望对你有一定的参考价值。

AOP  面向切面编程

 AOP的功能是基于IOC的功能之上,所有我们必须先引用IOC的的全部jar包

AOP和aspects是构成AOP的基础,所以必须得引入两个jar包

<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-aspects -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>4.3.25.RELEASE</version>
</dependency>

AOP为了解决代码重用的问题

在方法的前面或者后面切入一段代码

1.切面    一个普通的类,任何的类都可以变成一个切面

2.切入点    切入点

3.关注点    目标 将这段代码切入到哪个地方去 可以是一个具体的方法 也可以是一个类中的全部方法 也可以是一个包中的所有类

4.切入方式    可以在前面加一个 也可以在后面加一个 可以在前后加多个切入点

5.注解    启用注解的功能 applicationcontext.xml

        <aop:aspectj-autoproxy></aop:aspectj-autoproxy>
@Component
@Aspect

切入点表达式

*  返回值类型

*  表示一层

.*  表示多层

..  表示任意多个参数

 

AOP编程 一般在开发过程 只用在三个场合

1.打日志

2.事务处理

3.读写分离  

以上是关于AOP的主要内容,如果未能解决你的问题,请参考以下文章

阿里四面:你知道Spring AOP创建Proxy的过程吗?

AOP框架Dora.Interception 3.0 [3]: 拦截器设计

小议webpack下的AOP式无侵入注入

Spring AOP

AOP之AspectJ - 代码注入

AOP之AspectJ - 代码注入