Browse Source

Remove @Aspect for classes containing only @Pointcut declarations in ref docs

Closes gh-30790
pull/30915/head
Sam Brannen 3 years ago
parent
commit
040ea0a97c
  1. 18
      framework-docs/modules/ROOT/pages/core/aop/ataspectj/pointcuts.adoc
  2. 13
      spring-aop/src/test/java/org/springframework/aop/aspectj/annotation/AbstractAspectJAdvisorFactoryTests.java

18
framework-docs/modules/ROOT/pages/core/aop/ataspectj/pointcuts.adoc

@ -154,7 +154,6 @@ Java::
---- ----
package com.xyz; package com.xyz;
@Aspect
public class Pointcuts { public class Pointcuts {
@Pointcut("execution(public * *(..))") @Pointcut("execution(public * *(..))")
@ -179,7 +178,6 @@ Kotlin::
---- ----
package com.xyz package com.xyz
@Aspect
class Pointcuts { class Pointcuts {
@Pointcut("execution(public * *(..))") @Pointcut("execution(public * *(..))")
@ -211,9 +209,9 @@ pointcut matching.
When working with enterprise applications, developers often have the need to refer to When working with enterprise applications, developers often have the need to refer to
modules of the application and particular sets of operations from within several aspects. modules of the application and particular sets of operations from within several aspects.
We recommend defining a dedicated aspect that captures commonly used _named pointcut_ We recommend defining a dedicated class that captures commonly used _named pointcut_
expressions for this purpose. Such an aspect typically resembles the following expressions for this purpose. Such a class typically resembles the following
`CommonPointcuts` example (though what you name the aspect is up to you): `CommonPointcuts` example (though what you name the class is up to you):
[tabs] [tabs]
====== ======
@ -223,10 +221,8 @@ Java::
---- ----
package com.xyz; package com.xyz;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut; import org.aspectj.lang.annotation.Pointcut;
@Aspect
public class CommonPointcuts { public class CommonPointcuts {
/** /**
@ -287,10 +283,8 @@ Kotlin::
---- ----
package com.xyz package com.xyz
import org.aspectj.lang.annotation.Aspect
import org.aspectj.lang.annotation.Pointcut import org.aspectj.lang.annotation.Pointcut
@Aspect
class CommonPointcuts { class CommonPointcuts {
/** /**
@ -346,9 +340,9 @@ Kotlin::
---- ----
====== ======
You can refer to the pointcuts defined in such an aspect anywhere you need a pointcut You can refer to the pointcuts defined in such a class anywhere you need a pointcut
expression by referencing the fully-qualified name of the `@Aspect` class combined with expression by referencing the fully-qualified name of the class combined with the
the `@Pointcut` method's name. For example, to make the service layer transactional, you `@Pointcut` method's name. For example, to make the service layer transactional, you
could write the following which references the could write the following which references the
`com.xyz.CommonPointcuts.businessService()` _named pointcut_: `com.xyz.CommonPointcuts.businessService()` _named pointcut_:

13
spring-aop/src/test/java/org/springframework/aop/aspectj/annotation/AbstractAspectJAdvisorFactoryTests.java

@ -637,17 +637,20 @@ abstract class AbstractAspectJAdvisorFactoryTests {
} }
static class CommonPointcuts {
@Pointcut("execution(* getAge())")
void getAge() {
}
}
@Aspect @Aspect
static class NamedPointcutAspectWithFQN { static class NamedPointcutAspectWithFQN {
@SuppressWarnings("unused") @SuppressWarnings("unused")
private ITestBean fieldThatShouldBeIgnoredBySpringAtAspectJProcessing = new TestBean(); private ITestBean fieldThatShouldBeIgnoredBySpringAtAspectJProcessing = new TestBean();
@Pointcut("execution(* getAge())") @Around("org.springframework.aop.aspectj.annotation.AbstractAspectJAdvisorFactoryTests.CommonPointcuts.getAge()()")
void getAge() {
}
@Around("org.springframework.aop.aspectj.annotation.AbstractAspectJAdvisorFactoryTests.NamedPointcutAspectWithFQN.getAge()")
int changeReturnValue(ProceedingJoinPoint pjp) { int changeReturnValue(ProceedingJoinPoint pjp) {
return -1; return -1;
} }

Loading…
Cancel
Save