AOP后置通知获取目标方法的参数以及配置详解

来源:互联网 发布:广州数控圆弧编程实例 编辑:程序博客网 时间:2024/06/11 08:47

spring的加入的配置中如下:


代码中引入使用:


=================================

附部分xml配置代码:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:task="http://www.springframework.org/schema/task"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd"><!--tx:annotation-driven transaction-manager="transactionManager"/--><context:component-scan base-package="com.group com.group.filter com.qq.weixin.mp"annotation-config="true"><context:include-filter type="annotation" expression="org.aspectj.lang.annotation.Aspect"/></context:component-scan><aop:aspectj-autoproxy/><aop:config proxy-target-class="true"/><tx:annotation-driven transaction-manager="transactionManager" />

在代码中使用如下:

package com.group.filter;import java.math.BigDecimal;import java.util.ArrayList;import java.util.Date;import java.util.List;import org.apache.commons.collections.CollectionUtils;import org.aspectj.lang.JoinPoint;import org.aspectj.lang.annotation.AfterReturning;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.Pointcut;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;@Aspectpublic class PromoteFilter {private static final Logger logger = LoggerFactory.getLogger(PromoteFilter.class);@AutowiredGeneralBeanDao beanDao;@AutowiredPromoteService promoteService;@Pointcut("execution(* com.group.controller.OrderController.comfirReceipt(..))")private void privileged() {}@AfterReturning("privileged()")public void access(JoinPoint sp) {Object[] args = sp.getArgs();Long id = (Long) args[0];System.out.println("aop后置通知开始执行:===============================当前订单的Id是:"+ id);






阅读全文
0 0
原创粉丝点击