• Spring框架总结(十一)


    切入点表达式
    可以对指定的“方法”进行拦截;从而给指定的方法所在的类生层代理对象。

    其他跟十一样,只更改bean.xml

     1   <?xml version="1.0" encoding="UTF-8"?>
     2   <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
     4     xmlns:context="http://www.springframework.org/schema/context"
     5     xmlns:aop="http://www.springframework.org/schema/aop"
     6     xsi:schemaLocation="
     7         http://www.springframework.org/schema/beans
     8         http://www.springframework.org/schema/beans/spring-beans.xsd
     9         http://www.springframework.org/schema/context
    10         http://www.springframework.org/schema/context/spring-context.xsd
    11         http://www.springframework.org/schema/aop
    12         http://www.springframework.org/schema/aop/spring-aop.xsd">
    13 
    14     <!-- dao 实例 -->
    15     <bean id="myUserDaoAop" class="com.liuyang.pointcut.proxy.MyUserDaoAop"></bean>
    16     <bean id="orderDao" class="com.liuyang.pointcut.proxy.OrderDao"></bean>
    17 
    18     <!-- 切面类 -->
    19     <bean id="aop" class="com.liuyang.pointcut.proxy.Aop"></bean>
    20 
    21     <!-- Aop配置 -->
    22     <aop:config>
    23         
    24         <!-- 定义一个切入点表达式: 拦截哪些方法 -->
    25         <!--<aop:pointcut expression="execution(* com.liuyang.pointcut.proxy.*.*(..))" id="pt"/>-->
    26         
    27         <!-- 【拦截所有public方法】 -->
    28         <!--<aop:pointcut expression="execution(public * *(..))" id="pt"/>-->
    29         
    30         <!-- 【拦截所有save开头的方法 】 -->
    31         <!--<aop:pointcut expression="execution(* save*(..))" id="pt"/>-->
    32         
    33         <!-- 【拦截指定类的指定方法, 拦截时候一定要定位到方法】 -->
    34         <!--<aop:pointcut expression="execution(public * com.liuyang.pointcut.proxy.OrderDao.save(..))" id="pt"/>-->
    35         
    36         <!-- 【拦截指定类的所有方法】 -->
    37         <!--<aop:pointcut expression="execution(* com.liuyang.pointcut.proxy.UserDao.*(..))" id="pt"/>-->
    38         
    39         <!-- 【拦截指定包,以及其自包下所有类的所有方法】 -->
    40         <!--<aop:pointcut expression="execution(* com..*.*(..))" id="pt"/>-->
    41         
    42         <!-- 【多个表达式】 -->
    43         <!--<aop:pointcut expression="execution(* com.liuyang.pointcut.proxy.UserDao.save()) || execution(* com.liuyang.pointcut.proxy.OrderDao.save())" id="pt"/>-->
    44         <!--<aop:pointcut expression="execution(* com.liuyang.pointcut.proxy.UserDao.save()) or execution(* com.liuyang.pointcut.proxy.OrderDao.save())" id="pt"/>-->
    45         <!-- 下面2个且关系的,没有意义 -->
    46         <!--<aop:pointcut expression="execution(* cn.itcast.g_pointcut.UserDao.save()) &amp;&amp; execution(* com.liuyang.pointcut.proxy.OrderDao.save())" id="pt"/>-->
    47         <!--<aop:pointcut expression="execution(* cn.itcast.g_pointcut.UserDao.save()) and execution(* com.liuyang.pointcut.proxy.OrderDao.save())" id="pt"/>-->
    48         
    49         <!-- 【取非值】 -->
    50         <!--<aop:pointcut expression="!execution(* com.liuyang.pointcut.proxy.OrderDao.save())" id="pt"/>-->
    51         <aop:pointcut expression=" not execution(* com.liuyang.pointcut.proxy.OrderDao.save())" id="pt"/>
    52         
    53         <!-- 切面 -->
    54         <aop:aspect ref="aop">
    55             <!-- 环绕通知 -->
    56             <aop:around method="around" pointcut-ref="pt"/>
    57         </aop:aspect>
    58     </aop:config>
    59 </beans>      
  • 相关阅读:
    bzoj5253 [2018多省省队联测]制胡窜
    bzoj5249 [2018多省省队联测]IIIDX
    bzoj5248 [2018多省省队联测]一双木棋
    HEOI2018 游记
    bzoj2720 [Violet 5]列队春游
    bzoj4871 [Heoi2017]摧毁“树状图”
    bzoj3991 [SDOI2015]寻宝游戏
    bzoj3598 [Scoi2014]方伯伯的商场之旅
    Flash平台的分析与RIA的趋势
    JavaScript的变量预解析特性
  • 原文地址:https://www.cnblogs.com/liuyangfirst/p/6556400.html
Copyright © 2020-2023  润新知