java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > AspectJ框架的切入点表达式

SpringAop中AspectJ框架的切入点表达式

作者:辰小白

这篇文章主要介绍了SpringAop中AspectJ框架的切入点表达式,AspectJ是一个基于Java语言的AOP框架,Spring2.0以后新增了对AspectJ切点表达式支持,@AspectJ 是AspectJ1.5新增功能,通过JDK5注解技术,允许直接在Bean类中定义切面,需要的朋友可以参考下

1.AspectJ简介

2.切入点表达式

execution()

用于描述方法

语法: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"/>

within:

匹配包或子包中的方法(了解)

within(com.gyf.aop..*)

this:

匹配实现接口的代理对象中的方法(了解)

this(com.gyf.aop.user.UserDAO)

target:

匹配实现接口的目标对象中的方法(了解)

target(com.gyf.aop.user.UserDAO)

args:

匹配参数格式符合标准的方法(了解)

args(int,int)

bean(id) 

对指定的bean所有的方法(了解)

bean('userServiceId')

3.通知类型

到此这篇关于SpringAop中AspectJ框架的切入点表达式的文章就介绍到这了,更多相关AspectJ框架的切入点表达式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文