其他分享
首页 > 其他分享> > Spring_18_AOP实现(2)切面定义

Spring_18_AOP实现(2)切面定义

作者:互联网

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,org,public
来源: https://www.cnblogs.com/szqengr/p/14759281.html