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" />

    同上添加切面类

  • 相关阅读:
    android 网络加载图片,对图片资源进行优化,并且实现内存双缓存 + 磁盘缓存
    Web前端框架与类库的思考
    android应用开发(十):widget的使用
    响应式WEB设计的9项基本原则
    谈一下关于CQRS架构如何实现高性能
    迪杰斯特拉算法——PAT 1003
    Android开发-SQLite数据库
    寻找水王(2)
    PAT-1003
    PAT-1002
  • 原文地址:https://www.cnblogs.com/jiangxishicheng/p/10896498.html
Copyright © 2011-2022 走看看