spring 异常:切入点表达式“getEncryptedValue()”包含不受支持的切入点原语“get”

watbbzwu  于 2023-11-16  发布在  Spring
关注(0)|答案(1)|浏览(168)

我使用spring-boot-starter-parent 2.0.3-RELEASE,在我的方面中使用切入点原语'get',如下所示。

@Pointcut("get(* *) && @annotation(com.test.cryptography.EncryptEnabled)")
    public void getEncryptedValue() {
    }

字符串
但是当我将Sping Boot 版本升级到2. 6. 6时,它开始出现以下错误。

BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration': Initialization of bean failed; nested exception is org.aspectj.weaver.tools.UnsupportedPointcutPrimitiveException: Pointcut expression 'getEncryptedValue()' contains unsupported pointcut primitive 'get'


对于最新的 Spring 发行版,我需要做什么改变吗

mbjcgjjk

mbjcgjjk1#

如Spring手册中所述,章节Supported Pointcut Designators,get()在Spring AOP中不可用。即,如果它以前对您有效,您必须使用原生的AOP J,可能通过LTW(加载时编织)。
因此,如果在Spring( Boot )升级后它不再工作,那么您可能只是遇到了配置问题,可能只是忘记重新添加JMV参数-javaagent:/path/to/aspectjweaver.jar,而您之前可能正在使用该参数。

相关问题