问题标签 [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.
spring - 使用Spring时如何在一个方面访问Jersey的上下文对象?
我正在为 JAX-RS 使用 Spring 5.2.x 和 Jersey 2.30.x。
我有如下注释:
在我的服务中,我使用以下注释:
@MyAnnotation
当注释存在时,我想执行某些逻辑。为此,我创建了一个方面:
在这方面,我需要访问 HTTP 标头。我尝试注入 Jersey's ContainerRequest
,但这似乎失败了:参考总是null
.
所以我的问题是:如何ContainerRequest
在 Spring 的托管 bean 中访问 Jersey 的上下文对象,例如 ?
最小的例子
我创建了一个最小的示例,请参阅https://github.com/pbillen/playground-so-61750237。您可以使用 构建它,mvn clean install -U
然后使用mvn cargo:run
. 如果您随后将浏览器指向http://localhost:8080/,您将在控制台中看到:
工作解决方案,绕过泽西岛并使用HttpServletRequest
我尝试HttpServletRequest
在方面进行接线,然后访问Authorization
标题:
我还添加到web.xml
:
这基本上完全绕过了泽西岛。这似乎有效,我现在可以读出Authorization
方面的标题。伟大的!
但是,我的问题仍然存在:有没有办法将 Jersey 的上下文对象注入 Spring 管理的方面?
spring - 为什么 Spring boot AspectJ 有时只错过触发
我有 Spring boot 应用程序AspectJ配置为在一项服务返回数据后异步工作,但这有时无法触发,只有没有错误日志没有警告,这可以随时发生,如果我错过了任何 conf,请告诉我?
应用代码
方面代码
spring-boot - 类的方面注释
我有一个自定义注释,在 Spring Boot 中使用 AOP 处理。当我把它放在一个方法上面时它工作得很好,但是当我把它放在类上面时我无法提取它的值:(
注解
方面:
spring-aop - 使用@annotation 的pointcut 的springAOP 应用于IbatisDAO 时无效
注解:
方面:
目标类:
Aspect 在使用时不生效@Pointcut("@annotation(xxx.IbatisAnno)")
,但在使用时有效@Pointcut("execution(* xxx.xxDAO.*(..))")
。
java - 使用注释传递值
我正在尝试创建一个注释并将一个变量作为参数传递给 impl 方法。下面是我创建注释的代码。
下面是我的 impl 类
我正在尝试在 spring-boot 应用程序中使用它
我想传递generatedUserId
给我的注释Loggable1
请协助
java - Java Spring AOP:为仅属于包中某些类的 PostMappings 提供建议
您好,我正在尝试使用 aop 将日志记录应用到我的应用程序。此时,我可以使用此切入点将建议应用于应用程序中的所有 PostMapping 方法。
这是建议
我不希望这个。我希望建议仅适用于处理用户对象的 PostMappings,我猜这指的是处理 postmappings 的 3 个控制器。在这种情况下,我的包结构是这样的。
我怎么做这个切入点
只适用于以上3类?
java - Spring Boot 中如何将 AOP 日志保存到数据库中
我正在使用 AOP 记录我的 Spring Boot 应用程序中的所有方法调用。我也可以在控制台中打印它们。但我想将方法日志保存在数据库中。我正在发布到目前为止我所做的代码
这是我为数据提供的硬编码服务
下面是中央日志记录的 AOP 配置
以下是日志记录的输出
当我将方法保存在数据库中时,我想添加一些关于该方法的附加信息,即 findById() 和用户通过传递 id 查找信息。等等。
spring - 了解 Spring AOP 和事务方面
我正在研究当我们自动装配任何接口时 spring 提供的代理对象。这是了解https://www.youtube.com/watch?v=bEvGdWjeCy4&t=310s的一个很好的链接. 在这里他解释说,如果 POJO 实现了任何接口,那么 Spring 代理 bean 也实现了该接口(使用 JDK 代理机制)并添加额外的逻辑,例如事务逻辑(如果该方法使用 jdbc 代码注释或委托给 PlatformTransactionManager)。Spring 为我们提供了一个包装器对象,该对象具有对真实对象的引用,并且它具有在使用 MethodInvocationHandler 调用原始方法之前和之后运行的附加代码。所以我的问题是spring是如何管理该事务的。获取连接和启动事务的jdbc代码是在哪里编写的。它是在 Spring Proxy 对象中还是在任何 Aspect Class 中。
就像在 AOP 中一样,Aspects 基本上是横切关注点,例如整个应用程序共有的事务。Spring 是在代理对象中插入事务行为代码还是使用 PlatformTransactionManager 来执行此操作以及此 AOP 适合此流程的位置。如果是,如何在此处调用 Aspect 处理事务行为。呼叫是如何转移到它的?
spring-boot - 如何将自定义弹簧方面注释传递给建议
我创建了一个自定义方面注释并将其传递给周围的建议,但无法读取注释的值。我不确定如何将注释传递给建议并读取其值。此实现引发以下错误,原因是:java.lang.IllegalArgumentException: error at ::0 切入点中的正式未绑定
这是示例代码
spring - 为 Spring Boot 应用程序提取响应体
我想在我的 Spring Boot 应用程序中记录带有方面的响应正文。截至目前,我这样做如下:
但是在这里,我得到了 Http 状态代码和其他元数据的完整响应,如下所示:
在这里,我只想捕获响应正文。我无法理解如何从响应中仅提取正文。