问题标签 [spring-aspects]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Spring AOP 获取修改后的参数值
我有两个 Spring 方面(我们称它们为Aspect1和Aspect2)。Aspect1在Aspect2之前执行,Aspect1是一个日志记录方面,Aspect2是一个身份验证方面,它可能会使用 更新一个方法参数的值ProceedingJoinPoint.proceed(modifiedArgs)
(基本上,CustomAuthentication
如果身份验证通过,则将构造一个对象)。出于记录目的,我需要在Aspect1中获取更新后的参数(CustomAuthentication
更新前的对象是null
,更新后它将包含我需要的一些实际数据),我祈祷@AfterReturn
建议可以完成工作,但它没有,所以有有什么办法可以让它工作,还是完全不可能?
编辑 1:我应该说Aspect1的顺序低于Aspect2
java - Spring方面如何跨多个对象更新一个公共字段
我正在编写 Spring 方面并寻找一种方法来更新返回对象上的字段
我的 DTO
我的转换器案例:
方面:
我的方面将从转换器类中调用,返回对象可以是 SampleDto 和 TestDto。我正在寻找一种在其中设置 BaseDto 对象的方法。
java - 切入点表达式可以匹配 Java 方法中的泛型参数吗?
我的问题是我的切入点表达式似乎与方法调用不匹配,因此未执行。我怀疑它与参数列表中的泛型有关。
我试图匹配的方法具有以下签名(实际名称被混淆):
还有另一个方法调用具有以下我不想匹配的签名,但我想我可以通过参数号过滤掉。唯一的区别是它少了一个参数(即没有String e)。
使用的切入点表达式是
一些搜索,我确实找到了一些相关的东西,但我不能说我理解它。
任何人都可以对此有所了解吗?
java - 未应用跨其他项目的 Spring aop 切入点表达式
项目结构为
spring-contract
spring-aop
作为 (1) 的依赖项spring-service
作为(2)的依赖。
我@MyAnnotation
在spring-contract
项目中有一个参数注释,一个方面类spring-aop
,
注释将建议的类在spring-service
项目中,
类 TestField 方法未标记为建议,如果我移动同一个包中的所有类,我会得到结果。还有其他方面是在类和方法级别编写的,正在得到应用。
自定义注释
spring - 在 Aspect 中获取 pathVariable - Spring boot
我想在 Spring Boot 中实现一个注释。需要获取路径变量并在注释中使用。
我在PreAuthorize中得到这样的参数:#id。但是在这个函数中,变量路径的名字作为一个字符串来函数。
哪里做错了?我该如何解决这个问题?
spring - Spring AOP:为扩展抽象类的类中的方法创建一个切入点
我有一个抽象类,它正在实现一些基本接口。(攻击方法不是从基本接口继承的)
我还有一个扩展抽象类的类。
现在我正在尝试观察方法攻击(字符串攻击者Id,浮动攻击者速度攻击)
但不幸的是,Intellij 告诉我,此建议不建议任何方法。同样在启动应用程序期间,我收到堆栈跟踪错误:
我做错了什么?有什么方法可以观察超类的方法吗?我想念什么吗?
java - 在执行线程上运行 Spring 方面的建议
我的springboot应用程序中有一个场景,我将任务提交到线程池以进行异步执行。现在子执行中的一些方法是@AfterReturn的方面点建议的一部分。我观察到即使处理是异步完成的,我的主线程也会继续执行来自子线程的切入点建议,并且我的服务不会返回值,直到所有子线程完成执行。任何指针如何使建议在执行线程本身上运行?所以简而言之,控制器方法在dao方法执行及其对应的切入点执行之前是不会返回响应的。
java - Spring AOP 中的异常本身没有通过 RestControllerAdvice 处理
在继续之前,我需要验证服务层中某些属性的 HttpServletRequest。我创建了@Before 建议,请注意 AOP 方法会抛出异常。我希望这个方法抛出的异常应该由 RestControllerAdvice 处理。我可以看到正在执行 AOP 方法,但 RestControllerAdvice 没有处理 DataNotValidException。如果其他参数的验证有任何异常或 RestController 中有任何异常,RestConrollerAdvice 工作正常。
这是我的@RestControllerAdvice。我也尝试覆盖 handleExceptionInternal 。
公共字符串句柄链接(最终 HttpServletRequest httpServletRequest,@Valid UserLinkRequest userLinkReqeust,最终 HttpHeaders httpHeaders){
java - (ClassGenException) 找不到分支的目标:ifeq [153]
Aspectj 版本:1.8.13
我有一个项目,我试图通过 Maven 插件通过方面编译器运行,但出现以下错误。
任何调试此问题或找到它所在的确切问题的指针?. 错误找不到分支并没有告诉行号。它只是打印操作码。
MVN
java - Spring 方面,在受保护的重载方法上的切入点
我试图在受保护和重载的方法 doSend 上设置 JmsTemplate 类的切入点。我感兴趣的一个如下:
protected void doSend(MessageProducer producer, Message message) throws JMSException
我的要点是:
但我收到以下警告停止服务器:
Caused by: java.lang.IllegalArgumentException: warning no match for this type name: producer [Xlint:invalidAbsoluteTypeName]
我已经添加了依赖项:
并启用了对 @Aspect 注释的支持:
@EnableAspectJAutoProxy(proxyTargetClass = true)