`

spring <aop:pointcut>标签 expression属性如何定义路径

 
阅读更多
http://zhidao.baidu.com/question/497318436.html

execution(* com.aptech.jb.epet.dao.hibimpl.*.*(..))
这样写应该就可以了
这是com.aptech.jb.epet.dao.hibimpl 包下所有的类的所有方法。。
第一个*代表所有的返回值类型
第二个*代表所有的类
第三个*代表类所有方法
最后一个..代表所有的参数。

任意公共方法的执行:
execution(public * *(..))
任何一个名字以“set”开始的方法的执行:
execution(* set*(..))
AccountService接口定义的任意方法的执行:
execution(* com.xyz.service.AccountService.*(..))
在service包中定义的任意方法的执行:
execution(* com.xyz.service.*.*(..))
在service包或其子包中定义的任意方法的执行:
execution(* com.xyz.service..*.*(..))
在service包中的任意连接点(在Spring AOP中只是方法执行):
within(com.xyz.service.*)
在service包或其子包中的任意连接点(在Spring AOP中只是方法执行):
within(com.xyz.service..*)
在service包或其子包中的任意连接点(在Spring AOP中只是方法执行):within(com.xyz.service..*)
实现了AccountService接口的代理对象的任意连接点 (在Spring AOP中只是方法执行):
this(com.xyz.service.AccountService)
'this'在绑定表单中更加常用:- 请参见后面的通知一节中了解如何使得代理对象在通知体内可用。实现AccountService接口的目标对象的任意连接点 (在Spring AOP中只是方法执行):
target(com.xyz.service.AccountService)
'target'在绑定表单中更加常用:- 请参见后面的通知一节中了解如何使得目标对象在通知体内可用。任何一个只接受一个参数,并且运行时所传入的参数是Serializable 接口的连接点(在Spring AOP中只是方法执行)
args(java.io.Serializable)
'args'在绑定表单中更加常用:- 请参见后面的通知一节中了解如何使得方法参数在通知体内可用。请注意在例子中给出的切入点不同于
execution(* *(java.io.Serializable)):
args版本只有在动态运行时候传入参数是Serializable时才匹配,而execution版本在方法签名中声明只有一个 Serializable类型的参数时候匹配。目标对象中有一个 @Transactional 注解的任意连接点 (在Spring AOP中只是方法执行)
@target(org.springframework.transaction.annotation.Transactional)
'@target'在绑定表单中更加常用:- 请参见后面的通知一节中了解如何使得注解对象在通知体内可用。任何一个目标对象声明的类型有一个 @Transactional 注解的连接点 (在Spring AOP中只是方法执行):
@within(org.springframework.transaction.annotation.Transactional)
'@within'在绑定表单中更加常用:- 请参见后面的通知一节中了解如何使得注解对象在通知体内可用。任何一个执行的方法有一个 @Transactional 注解的连接点 (在Spring AOP中只是方法执行)
@annotation(org.springframework.transaction.annotation.Transactional)
'@annotation'在绑定表单中更加常用:- 请参见后面的通知一节中了解如何使得注解对象在通知体内可用。任何一个只接受一个参数,并且运行时所传入的参数类型具有@Classified 注解的连接点(在Spring AOP中只是方法执行)
@args(com.xyz.security.Classified)
'@args'在绑定表单中更加常用:- 请参见后面的通知一节中了解如何使得注解对象在通知体内可用。任何一个在名为'tradeService'的Spring bean之上的连接点 (在Spring AOP中只是方法执行):
bean(tradeService)
任何一个在名字匹配通配符表达式'*Service'的Spring bean之上的连接点 (在Spring AOP中只是方法执行):
bean(*Service)
分享到:
评论

相关推荐

    spring aop注解方式、xml方式示例

    使用`&lt;aop:before&gt;`、`&lt;aop:after&gt;`、`&lt;aop:after-returning&gt;`、`&lt;aop:after-throwing&gt;`和`&lt;aop:around&gt;`元素定义不同类型的的通知,例如: ```xml &lt;aop:aspect id="loggingAspect" ref="loggingAspectBean"&gt; &lt;aop...

    spring_aop_xml.rar_java aop_xml aop

    在XML配置中,我们可以使用`&lt;aop:pointcut&gt;`元素定义切入点,通过`id`属性为切入点命名,`expression`属性用来编写切入点表达式。例如: ```xml &lt;aop:config&gt; &lt;aop:pointcut id="serviceMethods" expression=...

    spring aop管理xml版

    - `&lt;aop:before&gt;`、`&lt;aop:after&gt;`、`&lt;aop:after-returning&gt;`、`&lt;aop:after-throwing&gt;` 和 `&lt;aop:around&gt;`:分别用于定义不同类型的切面通知。 - `&lt;aop:pointcut&gt;`:定义切入点表达式,可以引用在通知中。 - `&lt;aop:...

    Spring AOP 的实现例子(基于XML配置实现)

    在XML配置中,我们可以使用`&lt;aop:before&gt;`、`&lt;aop:after&gt;`、`&lt;aop:after-returning&gt;`、`&lt;aop:after-throwing&gt;`和`&lt;aop:around&gt;`标签来定义不同类型的通知。 连接点(Join Point)是通知插入到应用程序中的位置,...

    XML配置SpringAOP共2页.pdf.zip

    在XML配置中,我们使用`&lt;aop:pointcut&gt;`标签定义切入点,并通过`id`属性为切入点命名,`expression`属性用于设置切入点表达式。表达式通常基于AspectJ语法,例如`execution(* com.example.service.*.*(..))`表示匹配...

    使用Spring配置文件实现AOP

    在Spring的XML配置文件中,我们可以创建一个`&lt;aop:config&gt;`元素,并在其内部定义`&lt;aop:advisor&gt;`来创建Advisor。Advisor的`advice-ref`属性用于指定通知bean的ID,`pointcut-ref`属性用于指定切点bean的ID。 2. ...

    Spring中Aop的使用包括xml和注解

    3. `&lt;aop:before&gt;`、`&lt;aop:after&gt;`、`&lt;aop:around&gt;`、`&lt;aop:after-returning&gt;`和`&lt;aop:after-throwing&gt;`:这些元素分别用于定义前置通知、后置通知、环绕通知、返回后通知和异常后通知。 4. `&lt;aop:pointcut&gt;`:定义...

    spring使用动态代理面向切面编程(AOP) xml

    2. 定义切入点:使用`&lt;aop:pointcut&gt;`标签定义切入点表达式,`id`为切入点的标识,`expression`属性设置切入点表达式,例如匹配所有公共方法: ```xml &lt;aop:pointcut id="allPublicMethods" expression="execution...

    Spring Aop Schema实现

    before&gt;`、`&lt;aop:after&gt;`、`&lt;aop:after-returning&gt;`、`&lt;aop:after-throwing&gt;` 和 `&lt;aop:around&gt;` 标签分别定义了Before、After、After Returning、After Throwing和Around通知,`method` 指定了通知方法,`pointcut-...

    SpringAOP1.zip

    在Spring配置文件中,我们可以使用`&lt;aop:config&gt;`元素来声明切面,`&lt;aop:pointcut&gt;`定义切点,`&lt;aop:advisor&gt;`或`&lt;aop:aspect&gt;`定义通知。 例如,下面是一个简单的切面定义: ```xml &lt;aop:config&gt; &lt;aop:pointcut ...

    spring注解&XML配置AOP

    `&lt;aop:pointcut&gt;`用于定义切点,`id`属性是唯一标识,`expression`属性则用来指定匹配规则。 **实例分析** 在`TestAOP1`这个例子中,可能包含了一个或多个类,它们演示了如何使用注解或XML配置实现AOP。例如,可能...

    spring famework 基于xml配置aop示例

    在`&lt;aop:config&gt;`内部,你可以添加`&lt;aop:pointcut&gt;`标签来定义切点。例如,如果你想拦截所有在com.example.service包下的public方法,可以这样写: ```xml &lt;aop:pointcut id="serviceMethods" expression=...

    Spring_AOP开发

    /beans&gt;四、基于 XML 配置进行 AOP 开发:在 XML 文件中配置切面、通知、切入点等信息,例如:&lt;aop:config&gt;&lt;aop:aspect id="myInterceptor" ref="myInterceptorBean"&gt;&lt;aop:before method="doAccessCheck" pointcut=...

    spring_aop xml方式实现aop

    切点通常使用`&lt;aop:pointcut&gt;`标签定义,并且可以关联一个ID,方便在通知(Advice)中引用: ```xml &lt;aop:pointcut id="myPointcut" expression="execution(* com.example.myapp.service.*.*(..))"/&gt; ``` 在这个...

    spring的aop配置

    - 配置切入点表达式:在`&lt;aop:config&gt;`标签内,使用`&lt;aop:pointcut&gt;`定义切入点表达式,如: ```xml &lt;aop:pointcut id="myPointcut" expression="execution(* com.example.service.*.*(..))"/&gt; ``` - 配置通知...

    spring xml方式配置aop

    3. **创建通知**:使用`&lt;aop:before&gt;`, `&lt;aop:after&gt;`, `&lt;aop:around&gt;`, `&lt;aop:after-returning&gt;`, `&lt;aop:after-throwing&gt;`等元素定义不同类型的通知。例如,创建一个前置通知: ```xml &lt;aop:before method=...

    征服Spring AOP—— Schema

    5. `&lt;aop:before&gt;`, `&lt;aop:after&gt;`, `&lt;aop:around&gt;`, `&lt;aop:after-returning&gt;`, `&lt;aop:after-throwing&gt;`:这些子元素分别定义了不同类型的通知。例如,`&lt;aop:before&gt;`定义了一个前置通知,它在目标方法执行前运行;`...

    Spring 基于基于XML配置方式实现AOP

    在Spring AOP中,你可以使用`&lt;aop:pointcut&gt;`定义切点,通过表达式指定匹配的类和方法。例如: ```xml &lt;aop:pointcut id="serviceMethods" expression="execution(* com.example.service.*.*(..))"/&gt; ``` 这个...

    应用Spring AOP(五)-------XML配置方式

    在XML配置中,可以使用`&lt;aop:before&gt;`标签定义一个前置通知: ```xml &lt;aop:before method="beforeAdvice" pointcut-ref="myPointcut"/&gt; ``` 这里`method`属性指定通知方法,`pointcut-ref`引用定义的切点。 2. ...

    Spring 使用AspectJ 实现 AOP(基于xml文件、基于注解)

    2. **定义切点表达式**: 在XML配置文件中,我们使用`&lt;aop:config&gt;`标签定义切点表达式,这些表达式匹配要拦截的方法。 3. **关联通知与切点**: 使用`&lt;aop:pointcut&gt;`定义切点,并通过`&lt;aop:advisor&gt;`将通知与切点...

Global site tag (gtag.js) - Google Analytics