用于描述方法 【掌握】

语法:execution(修饰符  返回值  包.类.方法名(参数) throws异常)

修饰符,一般省略

public                公共方法

*                        任意

返回值,不能省略

void                   返回没有值

String                返回值字符串

*                       任意

包,[省略]

com.gyf.crm                      固定包

com.gyf.crm.*.service    crm包下面子包任意 (例如:com.gyf.crm.staff.service)

com.gyf.crm..                   crm包下面的所有子包(含自己)

com.gyf.crm.*.service..  crm包下面任意子包,固定目录service,service目录任意包

类,[省略]

UserServiceImpl                       指定类

*Impl                                          以Impl结尾

User*                                          以User开头

*                                                  任意

方法名,不能省略

addUser                                     固定方法

add*                                                    以add开头

*Do                                             以Do结尾

*                                                  任意

(参数)

()                                                  无参

(int)                                             一个整型

(int ,int)                                       两个

(..)                                                参数任意

throws ,可省略,一般不写

案例1

execution(* com.gyf.crm.*.service..*.*(..))

 

案例2:或

<aop:pointcut expression="execution(* com.gyf.crm.service.*.*(..)) ||

                          execution(* com.gyf.*Do.*(..))" id="myPointCut"/>

示例:

    <!--  配置UserService-->
<bean id="userService" class="com.gyf.service.UserServiceImpl"></bean>
<bean id="studentService" class="com.gyf.service.StudentService"></bean> <!-- 配置切面类对象-->
<bean id="myAspect" class="com.gyf.aspect.MyAspect"></bean> <!-- 全自动AOP配置
1.在bean中配置aop约束
2.配置aop:conifg内容,把切入点和通知结合 proxy-target-class:使用cglib实现代理
expression 表达式:*任意
execution(* com.gyf.service.*. * (..))
返回值 包名 类名 方法名 参数
-->
<aop:config proxy-target-class="true">
<!-- 切入点:
expression:表达式
每个service的方法前面都开启事务和结束事务 AOP:用于事务配置&日志记录
-->
<aop:pointcut id="myPointcut" expression="execution(* com.gyf.service.*.*(..))"/> <!-- 通知 关联 切入点-->
<aop:advisor advice-ref="myAspect" pointcut-ref="myPointcut"></aop:advisor>
</aop:config>

切入点表达式execution()的更多相关文章

  1. 【Java EE 学习 51】【Spring学习第三天】【cglib动态代理】【AOP和动态代理】【切入点表达式】

    一.cglib动态代理 1.简介 (1)CGlib是一个强大的,高性能,高质量的Code生成类库.它可以在运行期扩展Java类与实现Java接口. (2) 用CGlib生成代理类是目标类的子类. (3 ...

  2. aspectj 表达式 execution切点函数

    execution函数用于匹配方法执行的连接点,语法为: execution(方法修饰符(可选) 返回类型 方法名(参数) 异常模式(可选)) 参数部分允许使用通配符: *  匹配任意字符,但只能匹配 ...

  3. Java进阶知识22 Spring execution 切入点表达式

    1.概述   切入点(execution ):可以对指定的方法进行拦截,从而给指定的类生成代理对象.(拦截谁,就是在谁那里切入指定的程序/方法) 格式: execution(modifiers-pat ...

  4. [原创]java WEB学习笔记105:Spring学习---AOP介绍,相关概念,使用AOP,利用 方法签名 编写 AspectJ 切入点表达式

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  5. Spring切入点表达式常用写法

    自从使用AspectJ风格切面配置,使得Spring的切面配置大大简化,但是AspectJ是另外一个开源项目,其规则表达式的语法也稍稍有些怪异.   下面给出一些常见示例的写法:   比如,下面是一个 ...

  6. aop切入点表达式

    1.切入点表达式:对指定的方法进行拦截,并且生成代理表达式. 2.拦截所有public方法 <aop:pointcut expression="execution(public * * ...

  7. Spring(三)--AOP【面向切面编程】、通知类型及使用、切入点表达式

    1.概念:Aspect Oriented Programming 面向切面编程 在方法的前后添加方法   2.作用:本质上来说是一种简化代码的方式      继承机制      封装方法      动 ...

  8. spring 切入点表达式

    spring表达式有多种的指示符,如: 切入点指示符用来指示切入点表达式目的,,在Spring AOP中目前只有执行方法这一个连接点,Spring AOP支持的AspectJ切入点指示符如下: exe ...

  9. Spring Boot - AOP(面向切面)-切入点表达式

    切入点指示符用来指示切入点表达式目的,在 Spring AOP 中目前只有执行方法这一个连接点,Spring AOP 支持的 AspectJ 切入点指示符,切入点表达式可以使用 &&. ...

随机推荐

  1. Jedis下的ShardedJedis

    jedis客户端操作redis主要三种模式:单台模式.分片模式(ShardedJedis).集群模式(BinaryJedisCluster) ShardedJedis是通过一致性哈希来实现分布式缓存的 ...

  2. phpcms v9 更改首页

    phpcms v9的默认首页是(域名/index.php?m=content&c=index&a=init)那为什么你直接敲一个域名它就自己进 去了呢,其实在caches-->c ...

  3. python 正则之字母匹配

    \A:匹配字符串的开始   \b:匹配一个单词边界   取出a边界单词的个数 >>> len(re.findall(r"\ba"," ab abc ad ...

  4. fail-fast与fail-safe机制

    ----以下来自网址----- http://blog.csdn.net/ch717828/article/details/46892051 什么是 fail-fast 机制? fail-fast机制 ...

  5. linux查看硬盘信息

    1. 通过内核查看硬盘信息 cat /sys/block/sda/device/model cat /sys/block/sda/device/vendor 2. 用过hdparm命令查看 hdpar ...

  6. 阶段3 1.Mybatis_07.Mybatis的连接池及事务_4 mybatis中使用unpooled配置连接池的原理分析

    把之前的CRUD的代码src下的代码都复制过来 依赖项也都复制过来, 配置文件 整理一番 执行findAll方法的测试 查看日志的输出部分 修改程序池 再来执行findAll方法 Plooled从连接 ...

  7. 理解ES6中的Symbol

    一.为什么ES6引入Symbol 有时候我们在项目开发的过程中可能会遇到这样的问题,我写了一个对象,而另外的同时则在这个对象里面添加了一个属性或是方法,倘若添加的这个属性或是方法是原本的对象中本来就有 ...

  8. 用户tokenId

    tokenId表示为:用户登录到成功后,服务端分配给客户端的令牌号,同时下发tokenId的过期时间.下次用户直接持有tokenId,在其过期时间内均可跳过用户登录步骤,直接请求其他服务操作.如果to ...

  9. PHP开发一个简单的成绩录入系统

    预览界面 源码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  10. 【Python】利用豆瓣短评数据生成词云

    在之前的文章中,我们获得了豆瓣爬取的短评内容,汇总到了一个文件中,但是,没有被利用起来的数据是没有意义的. 前文提到,有一篇微信推文的关于词云制作的一个实践记录,准备照此试验一下. 思路分析 读文件 ...