Spring_18_AOP实现切面定义

Posted 失昼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring_18_AOP实现切面定义相关的知识,希望对你有一定的参考价值。

AOP实现(2)切面定义

   * AOP实现切面定义

     - 第一步: 导入依赖:

               <!-- spring-web -->
              <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-webmvc</artifactId>
                  <version>5.2.0.RELEASE</version>
              </dependency>

              <!-- aspectj -->
              <dependency>
                  <groupId>org.aspectj</groupId>
                  <artifactId>aspectjweaver</artifactId>
                  <version>1.9.4</version>
              </dependency>

              <!-- spring-jdbc -->
              <dependency>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-jdbc</artifactId>
                  <version>5.3.6</version>
             </dependency>


        - 第二步: 导入AOP相关约束
 
                    <?xml version="1.0" encoding="UTF-8"?>
                   <beans xmlns="http://www.springframework.org/schema/beans"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xmlns:aop="http://www.springframework.org/schema/aop"
                   xsi:schemaLocation="http://www.springframework.org/schema/beans
                    https://www.springframework.org/schema/beans/spring-beans.xsd
                    http://www.springframework.org/schema/aop
                    https://www.springframework.org/schema/aop/spring-aop.xsd">


       - 第三步:自定义切入类
    
                 
                public class DiyPointCut {
                    public void before(){
                        System.out.println("=================切入方法执行前===================");
                    }

                    public void after(){
                        System.out.println("=================切入方法执行后===================");
                    }
                }

     

      - 第四步:配置AOP

           1. 配置切入面

               <aop:config>
                   <aop:aspect id="aspect" ref="diyPointCut">
                    
                   </aop:aspect>
                </aop:config>

               > ref属性中填写自己自定义的切入类

   
     
           2.在切入面中配置切入点和通知

                  <!--切入点-->
                 <aop:pointcut id="pointcut"  expression="execution(* com.shi.service.UserServiceImpl.*(..))"/>

                 <!--通知-->
                 <aop: before method="before"  pointcut-ref="pointcut"/>
                 <aop: after method="after"    pointcut-ref="pointcut"/>


 - AOP配置方式二

       
         <!--配置所需bean-->
        <bean id="diyPointCut" class="com.shi.diy.DiyPointCut"/>

        <!--配置AOP-->
        <aop:config>

           <aop:aspect id="aspect" ref="diyPointCut">

               <!--切入点-->
               <aop:pointcut id="pointcut" expression="execution(* com.shi.service.UserServiceImpl.*(..))"/>

               <!--通知-->
               <aop:before method="before" pointcut-ref="pointcut"/>
               <aop:after method="after" pointcut-ref="pointcut"/>

           </aop:aspect>

        </aop:config>

以上是关于Spring_18_AOP实现切面定义的主要内容,如果未能解决你的问题,请参考以下文章

Spring基础_面向切面(AOP)

Spring之AOP(面向切面编程)_入门Demo

阶段3 2.Spring_08.面向切面编程 AOP_9 spring基于注解的AOP配置

Spring_详解AOP

spring_03AOP编程

Spring_面向切面(AOP)基础