spring-aop相关内容

方面建议其他方面

我目前正在开发两个使用 Spring-AOP 的 Spring 应用程序.我有一个方面允许简单的性能日志记录,其定义如下: @Aspect最终类 PerformanceAdvice {private Logger logger = LoggerFactory.getLogger("perfLogger");公共对象日志(最终 ProceedingJoinPoint 调用)抛出 Throwable ..
发布时间:2021-11-11 04:32:25 Java开发

AspectJ - 匹配具有泛型参数的方法的切入点

我有一个通用方法,可以接受任何类型作为其参数. 例如,我想要一个切入点,该切入点仅以“String"类型作为其参数来匹配对方法的调用.最终的要求是将执行通知的范围限制为“字符串"参数. 这是我的通用类和方法: 公共类参数{公共 T 执行(T s){返回 s;}} 主类:我的应用使用布尔值和字符串作为参数调用方法. public static void main(String[] ar ..
发布时间:2021-11-11 04:31:58 Java开发

使用 AspectJ 的异步执行方面

问题来了—— 我使用Spring提供的@Async异步执行一些方法.但是,因为它是基于代理的,所以如果从同一个类中调用该方法,它将不起作用.我确实需要在同一个类中调用我的异步方法. 我知道如果我使用 AspectJ 而不是 Spring AOP,我将能够做到这一点. 所以我的问题是,有没有办法使用 Spring 的 @Async 和加载时间编织它?或者,是否已经编写了一个基于 A ..
发布时间:2021-11-11 04:31:46 Java开发

Spring AOP 启动时间慢

我们使用带有 @AspectJ 样式注释和 的 Spring (3.0.5) AOP.我们将其用于事务、审计、分析等.除了应用程序的启动时间随着添加更多代码而不断增长之外,它运行良好. 我做了一些分析,发现大部分时间都花在了 Spring 容器初始化期间,更具体地说 org.springframework.beans.factory.support.DefaultSingletonBeanR ..
发布时间:2021-11-11 04:31:43 Java开发

AOP @Around:返回 BAD_REQUEST 响应

在 Spring rest 应用程序中,每个 URL 都必须以应用程序 ID (appId) 开头.此 appId 必须在每个休息服务中进行验证.我没有复制代码,而是尝试使用 @Around 建议创建一个 @Aspect.这是在任何 rest 方法之前正确执行的. 但是,如果应用程序 ID 未知,我既不想创建堆栈跟踪,也不想返回 200(响应 OK).相反,我确实想返回 BAD_REQUES ..
发布时间:2021-11-11 04:31:40 其他开发

从 Spring AOP 到 AspectJ 的转换

我正在将一些使用 Spring AOP 的代码迁移到 AspectJ 方面(在编译时编织).我正在寻找有关如何修改切入点以使它们在迁移后表现相同的反馈? 当前 Spring AOP Aspects 仅用作“代理",因此只能从外部调用者对公共/接口方法起作用.现在我已经切换到 AspectJ 编织;甚至从类内部到自身的方法调用也在被编织. 这让我很头疼,我想知道我是否可以改变切入点以某种 ..
发布时间:2021-11-11 04:31:14 Java开发

带有 groovy 的 Spring AOP:调用方法

我正在使用带有 groovy 的 spring aop 并且有一个监控方面,应该记录每个方法的执行时间.问题是 groovy 调用与 java 调用不同,因此以下代码始终将“getMetaClass()"打印为方法名称. @Before("execution(* mypackage.MyService.*(..))")void beforeMethod(JoinPoint joinPoint) ..
发布时间:2021-11-11 04:31:08 其他开发

Spring 注解 AOP 调用两次

我使用自定义注释为我的 spring boot 控制器注释了一些功能,以用于记录目的.但是,我发现对于嵌套方法,before 建议会执行两次.在这里寻找一些想法.请参考下面的代码片段. 控制器 @RequestMapping(value = "apply")@操作MILogpublic ApplyHttpResponse apply(@RequestHeader final String ..
发布时间:2021-11-11 04:30:14 其他开发

Spring MVC/AOP应用的动态菜单实现

我希望为我的 Spring MVC 应用程序实现可动态更改的菜单(每当添加带注释的方法或控制器时更新). 我想要的是引入新的注释 (@RequestMenuMapping),它将转到 @Controller bean 及其方法(就像 @RequestMapping> 有效). 这是我想要的,User 类,生成菜单如 用户索引 |列表 |注册 |登录 使用以下代码: @Contro ..
发布时间:2021-11-11 04:30:11 Java开发

Spring aop 拦截来自同一服务类内的调用

我有一个与 中提到的相同的场景 Spring同一个类内的方法调用@Transaction方法,不行吗? 我指的是答案 #1,我认为它适用于我的简单 pojo 课程,但它没有.就我而言,我没有注释@Transaction.它是一个简单的 pojo 类.如果我在上面的帖子中举例,我希望使用 spring aop 拦截每个方法 adduser 和 addusers. 是否可以拦截从同一个 ..
发布时间:2021-11-11 04:29:50 Java开发

为什么 Jersey 控制器没有检测到我的 Aspect(使用自定义注释)?

我想在 Jersey 控制器上创建一个方面来衡量服务执行所需的时间.我正在与我的切入点作斗争,因为它没有被检测到,我的方面也从未被启动. 我尝试过使用很多切入点,例如: 执行(@Monitor * *.*(..))执行(公共* *(..))改变@Aspect 和@Component 的顺序添加了这样的切入点:@Pointcut("执行(@Monitor * *.*(..))")public ..
发布时间:2021-11-11 04:29:44 Java开发

JAVA 面向切面编程——运行时切面编织和类加载时切面编织

我看到了一篇关于 AOP 的文章,里面提到 Aspect 编织可能发生在编译时、类加载时和运行时. 在 java 中,我可以想象,而不是理解,方面编织在编译时实际上是如何发生的.代理类是在类编译期间生成的(在项目上启用了方面).生成的字节码会有代理代码. 但我仍然想知道在类加载时编织和运行时编织期间究竟发生了什么(实际上).加载类时是否生成代理类?方面库是否在 .class(编译时)文 ..
发布时间:2021-11-11 04:29:05 Java开发

有人可以解释一下吗?目标切入点指示符

我是 Spring AOP 的新手,正在阅读切入点指示符的文档.这和目标指示符对我来说听起来一样.有人可以用一个更好/更干净的例子来解释吗?谢谢 this - 将匹配限制为连接点(使用 Spring AOP 时的方法执行),其中 bean 引用(Spring AOP 代理)是给定类型的实例 例如:this(com.xyz.service.AccountService) 代理实现 Acco ..
发布时间:2021-11-11 04:28:50 Java开发