SpringAOP的实现方式

Posted chenxi-mxj

tags:

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

1.使用SpringAPI实现AOP

<aop:config>
        <!-- 切入点:需要操作的目标类中的目标方法
            execution中只需要修改全类名
        -->
        <aop:pointcut id="pointcut" expression="execution(* 全类名.*(..))" />

        <aop:advisor advice-ref="log" pointcut-ref="pointcut"/>
        <aop:advisor advice-ref="afterLog" pointcut-ref="pointcut"/>
</aop:config>

2.自定义类实现AOP

<!-- 自定义类 -->
<bean id="diy" class="com.jay.pojo.diy"/>
    
<aop:config>
        <!-- 切面 -->
        <aop:aspect ref="diy">
            <!-- 切入点 -->
            <aop:pointcut id="pointcut" expression="execution(* 全类名.*(..))"/>

            <aop:before method="before" pointcut-ref="pointcut"/>
            <aop:after method="after" pointcut-ref="pointcut"/>
        </aop:aspect>
 </aop:config>

3.使用注解实现AOP

注解实现类
//必须写切面注解,否则无法切入
@Aspect
public class diy 

    @Before("execution(* com.jay.service.serviceImpl.*(..))")
    public void before()
        System.out.println("这是before方法");
    

    @After("execution(* com.jay.service.serviceImpl.*(..))")
    public void after()
        System.out.println("这是after方法");
    
XML文件配置
<bean id="service" class="com.jay.service.serviceImpl"/>

<!-- 注解实现的AOP类 -->
<bean id="diy" class="com.jay.pojo.diy"/>

<!-- 识别注解,自动代理 -->
<aop:aspectj-autoproxy/>

 

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

SpringBoot使用SpringAOP实现日志审计等功能

SpringAOP简介

springAOP

springAOP实现

SpringAOP(注解方式实现面向切面编程)之常用BeforeAfterAround

springAOP源码分析