Spring AOP 选择性通知, 定义【切入点】 , Advisor
<!-- 【前置通知】(方法前通知) `````````````【拦截器】 --> <bean id="myMethodBeforeAdvice" class="aop.advice.MyMethodBeforeAdvice"/> <!-- 名称匹配方法切入点通知(相当于对advice进行包装,增加了定义切入点功能 --> <bean id="beforeAdvisor" class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor"> <property name="advice" ref="myMethodBeforeAdvice"/> <property name="mappedNames"> <list> <value>say*</value> <!-- say 开头 的 方法 --> </list> </property> </bean>
<!-- 代理对象 --> <bean id="welcomeServiceProxy" class="org.springframework.aop.framework.ProxyFactoryBean"> <!-- 代理接口集 --> <property name="proxyInterfaces"> <list> <value>aop.service.WelcomeService</value> </list> </property> <!-- 目标对象 --> <property name="target" ref="welcomeServiceTarget"/> <!-- 拦截器名集 --> <property name="interceptorNames"> <list> <value>beforeAdvisor</value><!-- 代替原来,未增强的 myMethodBeforeAdvice --> </list> </property> <property name="proxyTargetClass" value="true"/> </bean>