zoukankan      html  css  js  c++  java
  • SpringMvc配置Aop的两种方式

    Maven引入AOP依赖

        

    <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-aop</artifactId>
          <version>4.3.1.RELEASE</version>
        </dependency>
        <dependency>
          <groupId>org.aspectj</groupId>
          <artifactId>aspectjrt</artifactId>
          <version>1.8.6</version>
        </dependency>
        <dependency>
          <groupId>org.aspectj</groupId>
          <artifactId>aspectjweaver</artifactId>
          <version>1.8.9</version>
        </dependency>

     代码配置类配置:

    •   mvc配置类添加注解@EnableAspectJAutoProxy

    •   添加切面类

      

     /**
         * @author: dab0
         * @date:2019/5/20
         * @package:com.aspect
         **/
        @Component
        @Aspect
        public class ValidAspect {
            private ObjectError error;
    
            /**
             * 切点
             */
            @Pointcut("execution(public * com.controller.*.*(..))")
            public void valid() {
    
            }
    
            /**
             * @param pjp
             * @return
             */
            @Around("valid()")
            public Object around(ProceedingJoinPoint pjp) throws Throwable {
                System.out.println("方法环绕start......");
                return pjp.proceed();
            }
        }

    注意:springMvc配置类中要扫描到切面类所属的包,被spring管理起来

    以上切点切入目标路径为:com.controller包下的所有类的任意参数的所有任意返回值的public方法。

    目录如下:

    xml配置文件配置

    <!-- 在springMvc.xml的配置文件中加入AOP的配置-->
    <!-- AOP 注解方式 ;定义Aspect -->
        <!-- 注意!切面类需要被spring管理,激活组件扫描功能,在包"com.aspect及其子包下面自动扫描通过注解配置的组件-->
        <context:component-scan base-package="com.aspect"/>
        <!-- 启动AspectJ支持   只对扫描过的bean有效-->
        <aop:aspectj-autoproxy proxy-target-class="true" />

    同上添加切面类

  • 相关阅读:
    oss blob上传
    app中画一条细线
    antd和原生交互,原生掉前端的方法
    -webkit-touch-callout 图片下载
    ifram嵌入网址 有跨域问题
    ...state
    数组对象的复制
    在vue中使用tinymce组件
    autofs自动挂载服务
    podmen
  • 原文地址:https://www.cnblogs.com/jiangxishicheng/p/10896498.html
Copyright © 2011-2022 走看看