springMVC开启声明式事务实现操作日志记录

第一步、在applicationContext-mvc.xml开启AOP注解扫描

<aop:aspectj-autoproxy/>

第二步、创建增强类,实现日志记录

@Component //把切面添加到spring容器中
@Aspect //变成切面类
public class WriteLog {
    /**
    *参数:代表目标方法对象
    *
    */
    public Object around(ProceedingJoinPoint pjp) throws Throwable {
        //得到方法签名对象
        MethodSignature ms = (MethodSignature) pjp.getSignature();
        Method m = ms.getMethod(); //获得方法对象
        //判断方法上是否有@RequestMappering注解
        if(m.isAnnotationPresent(RequestMapping.class)){
            //获取此@RequestMappering注解
            RequestMapping mapping = m.getAnnotation(RequestMapping.class);
            System.out.println(new Date());
            System.out.println(request.getRemoteAddr()); //获取客户机IP地址
            System.out.println(m.getName());//保存方法名
            System.out.println(mapping.name()); //获取注解的name属性值
        } Object object
= pjp.proceed(); //执行真实的方法 return object; } }

第三步、配置切入点和切面

    <bean id="advice" class="WriteLog"/>
    <aop:config>
        <aop:pointcut id="pt" expression="execution(* com.alibaba.controller.*.*.*.(..))"/>
        <aop:aspect  ref="advice"  >
            <aop:before method="around" pointcut-ref="pt"/>
        </aop:aspect>
    </aop:config>

第四步、测试即可

转载于:https://www.cnblogs.com/kitor/p/11079468.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值