Spring AOP-顾问-正则表达式方法切入点顾问

本文介绍如何使用Spring AOP结合正则表达式定义切入点,实现特定方法调用后的通知处理。通过配置XML文件创建代理对象,并设置匹配规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AOP-顾问-正则表达式方法切入点顾问
也是在通知的基础之上修改配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
        "http://www.springframework.org/dtd/spring-beans-2.0.dtd">

<beans>
    <bean name = "someService" class="com.hk.spring.aop09.SomeServiceImpl"></bean>
    <!-- 注册通知 Advice-->
    <bean name = "myAfterReturningAdvice" class="com.hk.spring.aop09.MyAfterReturningAdvice"></bean>
    <!-- 注册顾问 Advisor-->
    <bean name = "myAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
        <property name="advice" ref="myAfterReturningAdvice"></property>
        <!-- 根据正则表达式指定切入点  -->
        <property name="pattern" value=".*ir.*"/><!-- 匹配对象是全限定性方法名(包含包名、类名、接口名的那种) -->

    </bean>

    <!-- 生成代理对象 -->
    <bean name = "serviceProxy" class="org.springframework.aop.framework.ProxyFactoryBean">
    <!-- 配置代理对象的目标对象属性 (类加载器)-->
    <property name="target" ref="someService"/>
    <!-- 或者这样配置
    <property name="targetName" value="someService"/>
    -->
    <!-- 配置顾问 (指定方法)-->
    <property name="interceptorNames" value="myAdvisor"/>
    <!-- 接口通过private boolean autodetectInterfaces = true可以被找到 -->
    </bean>

</beans>

与方法名匹配切入点顾问不同之处在于

<property name="mappedName" value="doFirst"/><!-- 匹配对象是简单方法名(不包含报名、类名、接口名的那种) -->
<property name="pattern" value=".*ir.*"/><!-- 匹配对象是全限定性方法名(包含包名、类名、接口名的那种) -->
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值