zoukankan      html  css  js  c++  java
  • 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>      
  • 相关阅读:
    检测用户名和密码
    文本框赋值-数组的使用
    表单元素属性应用
    innerText和textContent区别以及兼容处理
    1.1自动化测试
    coockie & session
    springMVC 实现上传文件和下载文件
    el 表达式 显示错误 总结
    杭电oj_2063——过山车(java实现)
    关于java静态存储类的一个知识点
  • 原文地址:https://www.cnblogs.com/liuyangfirst/p/6556400.html
Copyright © 2011-2022 走看看