Spring AOP - 执行覆盖
Spring AOP - Execution coverage
此 execution
适用于哪些 类(在哪些包中)和方法?
<aop:config>
<aop:pointcut id="serviceOperation" expression="execution(* com.my.application.service..*Manager.*(..))"/>
</aop:config>
我在 http://spring.io/docs 上读过 Spring AOP,但无法理解 execution
表达式。
从link中的spring docs 10.2.3部分很清楚,执行用于指定切入点。
execution(modifiers-pattern? ret-type-pattern declaring-type-pattern?name-pattern(param-pattern) throws-pattern?)
- 修饰符模式 - 方法可见性(public、受保护、私有、*)
ret-type-pattern - Return 方法的类型
- declaring-type-pattern - 包或 class(例如:com.app.service.* - 适用于此包中的所有 classes,com.app.service.UserService -仅适用于 UserService class, * - all)
- name-pattern - 方法名称(例如:set* - 所有 setter)
- param-pattern - 方法参数(.. - 任意数量的参数,java.lang.String - 以字符串为参数的方法。
- throws-pattern - 抛出此异常的方法。
你的情况
expression="execution(* com.my.application.service..*Manager.*(..))"/>
您正在将此切入点指定给 class 名称以 com.my.application.service 包及其子包中的 Manager 结尾的所有方法。
此 execution
适用于哪些 类(在哪些包中)和方法?
<aop:config>
<aop:pointcut id="serviceOperation" expression="execution(* com.my.application.service..*Manager.*(..))"/>
</aop:config>
我在 http://spring.io/docs 上读过 Spring AOP,但无法理解 execution
表达式。
从link中的spring docs 10.2.3部分很清楚,执行用于指定切入点。
execution(modifiers-pattern? ret-type-pattern declaring-type-pattern?name-pattern(param-pattern) throws-pattern?)
- 修饰符模式 - 方法可见性(public、受保护、私有、*) ret-type-pattern - Return 方法的类型
- declaring-type-pattern - 包或 class(例如:com.app.service.* - 适用于此包中的所有 classes,com.app.service.UserService -仅适用于 UserService class, * - all)
- name-pattern - 方法名称(例如:set* - 所有 setter)
- param-pattern - 方法参数(.. - 任意数量的参数,java.lang.String - 以字符串为参数的方法。
- throws-pattern - 抛出此异常的方法。
你的情况
expression="execution(* com.my.application.service..*Manager.*(..))"/>
您正在将此切入点指定给 class 名称以 com.my.application.service 包及其子包中的 Manager 结尾的所有方法。