我创建了一个自定义注释:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface ValidateBeforeBuild {
}
一个方面是:
@Aspect
@Component
public class AspectForBuildInBuilders {
private static final Logger LOGGER = LoggerFactory.getLogger(AspectForBuildInBuilders.class);
@Before("@annotation(validateBeforeBuild )")
public void validateBusinessModelAdvice(JoinPoint jp, ValidateBeforeBuild validateBeforeBuild ) throws Throwable {
LOGGER.info("Executing class: {}", jp);
}
}
我有一个标有上述注释的build()
。当我试图调用build()
时,我没有收到来自validateBusinessModelAdvice()
的日志消息。我在其中一个配置类中也有@EnableAspectJAutoProxy
。我错过了什么吗?是否还需要更多信息?
您将注释定义为ValidateBeforeBuild
,并在您的方面指定了validateBeforeBuild
(注意注释中的上部V
)
尝试改变
@Before("@annotation(validateBeforeBuild)")
对于
@Before("@annotation(ValidateBeforeBuild)")