问题标签 [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.

0 投票
2 回答
1173 浏览

spring - Spring AOP 传递控制器方法的字符串参数

我有一个控制器类,其中一个 RequestMapping 方法采用字符串参数。我想通过使用 Spring AOP 传递这个参数,但它失败了,当我打印值时我得到空值。

尝试使用以下提供的解决方案,但它使用地图而不是字符串。

控制器方法的 Spring AOP 传递参数

当我在 Controller 类中打印它但打印 null 时,我期待值“Hello”。

0 投票
1 回答
37 浏览

spring - 用于横切流程管道使用的 Spring 方面

我想在我的流程执行生命周期中将 spring 方面用于我的横切流程,例如之前或之后的处理程序。例如

在我想要执行我的处理程序的方法之前我想要什么,并且由于它的响应,我想要完成 myprocess 并返回自定义响应。

例如在停止条件下我应该抛出自定义异常以停止进程那个时候我如何处理我的返回响应,我想在客户端提供有意义的对象。最好的方法是什么?

0 投票
0 回答
136 浏览

spring - @Service 注释的 Spring 方面不起作用

我想根据特定的注释使用方面方法。在我的场景中,当我用注释标记我的业务类时@Service它不起作用,但是当我将它更改为组件时它开始工作。

这是示例:

0 投票
2 回答
28 浏览

spring-boot - Spring Aspect - 如何识别哪个 Pointcut 触发了函数

我想以不同的方式记录 Controller 和其他包。我知道我可以为此使用 2 种单独的方法,但是这 2 种方法非常相似,所以我想添加一个代码来检查它看起来像这样

这段代码会是什么样子?

另外,如果在执行 (1) 之后,我想在为其他包执行时再次将变量传递给相同的方法,我该怎么做?

0 投票
8 回答
2722 浏览

java - 获取 Java 中的所有异常并远程发送

我有一个巨大的 Java 应用程序。我想拦截所有 Java 异常并通过电子邮件发送它们。我无法在任何地方添加用于发送代码的代码,try-catch因此是否可以使用例如 Aspect 将异常拦截到低级类并获取异常内容?

或者有什么方法可以覆盖一些内部 Java 类并获取异常有效负载?

什么是可能的?

0 投票
1 回答
202 浏览

spring - Spring AOP - @AfterReturning 不起作用

我有一个 Java 方法 getAllItems(),并创建了一个方面方法,该方法在 getAllItems() 结束后调用。

方面类是这样的:

因此,在调用 getAllItems() 之后,我希望在控制台中看到打印的“[item1]”,但不会调用方面方法。控制台没有错误,应用程序(除了方面)工作正常。所以我认为所有的spring bean都被创建了。

在 appConfig.xml 中,bean 的声明如下:

我的问题是我在方面做错了什么。

0 投票
1 回答
23 浏览

aspectj - 将参数注入 Spring Aspect Advice

我有一个基本的弹簧休息控制器,并且有一个公司要求,需要在一个组合日志消息中记录请求和响应。我计划用一些简单的方面来做这件事。

然而,控制器调用一个服务,该服务又调用另一个第三方 api,并且需要将这个第三方调用所花费的时间包含在上述控制器的日志输出中。

我想知道这是否可以通过方面来实现?我想它需要一个 @Around 方面用于主控制器,然后另一个@Around 用于下游 api 调用,以及某种将内部方面的结果注入到建议或外部方面的方法。不知道这能不能做到??或者也许是通过方面传递的请求范围的bean?

谢谢

0 投票
1 回答
1035 浏览

spring - 无法@Autowire 实现类,代理混淆

我正在使用 Spring-boot 创建一个多模块 Maven 应用程序。我在一个模块中有服务层,在另一个模块中有 Web 层。我无法启动应用程序,出现以下错误:

尝试使用注释配置类

一旦我添加了@PreAuthorize 或@Transactional 类型的任何注释,应用程序就会停止工作。

该服务没有实现任何接口,我希望 Spring 使用 CGLib 代理进行自动连接,从跟踪日志中,我看到以下内容:

自动接线的例外是:

这是否意味着 Spring 将我的服务注册为 CGLib 代理和 JDK 代理?如果是这样,我怎么能强制它只使用 CGLib 代理?

0 投票
3 回答
611 浏览

java - 不包括特定返回类型或参数的 Spring AOP 切入点表达式

此切入点涵盖所有保存或更新操作,无论传递的参数或返回类型如何,但我只想排除参数或返回类型中的 xyz.class。这怎么可能?我不能提及所有的保存操作,因为总共有 50 多个模型,但我只想覆盖其中的 48 个。

0 投票
1 回答
42 浏览

java - 无论如何要创建一个 Spring Aspect 建议来触发任何未由某些注释注释的方法?

基本上,我正在尝试创建一个日志系统,它将记录大多数控制器方法(它们的参数、主体、状态代码等),但是,由于某些特定原因,我不想记录的控制器方法很少。我不想创建一个注释来表明这个方法将被记录(因为会有很多),相反,我想创建一个注释来表明这个方法不应该被记录。显然,我不能否定 Spring Aspect 建议中的注释,那么有什么解决方法吗?(例如从 获取方法的所有注解ProceedingJoinPoint,然后检查它们是否包含该NoLog注解)