zoukankan      html  css  js  c++  java
  • 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>

    第四步、测试即可

  • 相关阅读:
    二次离线莫队
    一些不等积分的练习(持续更新)
    杂题20210427
    杂题20210415
    杂题20210203
    php pack()函数详解与示例
    SHOI2020抱灵祭
    BJOI2021游记+题解
    博客搬家
    听课记录 210220【分治,树分治,CDQ分治】
  • 原文地址:https://www.cnblogs.com/kitor/p/11079468.html
Copyright © 2011-2022 走看看