
aspect
文章平均质量分 77
10km
这个作者很懒,什么都没留下…
展开
-
java:修复aspectj-maven-plugin插件在java9项目中执行报错:cannot be resolved to a module
是我最近写的一个基于Java 9 的javadoc读取java代码注释的工具。在基于Java 9(我用的编译器JDK 19)编译时,插件在执行报了一堆错误:显示所有的模块在都不能被识别,这些模块名都是javadocreader9的中定义的模块名。如下是定义如下是javadocreader9的pom.xml片段:原创 2024-11-04 13:38:57 · 835 阅读 · 0 评论 -
java:aocache 与Spring Aop兼容问题
本文适用于所有AspectJ与Spring AOP混用的场景。Spring AOP 是基于动态代理的实现AOP,基于 JDK代理和CGLib代理实现运行时织入(runtime weaving)。Spring AOP的切面定义沿用了ASpectJ的注解体系,所以在Spring体系中注解定义切面的方式与ASpectJ完全兼容, 但如果一个项目中有Spring 切面定义又要使用静态态织入(CTW)的情况下,就会存在冲突问题。如下面的示例,项目中定义了一个Spring AOP切面,拦截所有带注解的服务方法。原创 2024-07-16 11:33:52 · 528 阅读 · 0 评论 -
java:aocache 0.4.0 缓存控制机制
aoocache发布第一个版本0.1.0时,没有考虑到使用aocache的项目对方法缓存的控制需求。给同事做培训时,同事提到这个需求,他希望能够有方法主动去清理指定方法的缓存:他的数据是由其他服务启动时提供的,他的方法要根据这些数据进行复杂计算返回结果。如果其他服务重启了,会刷新这些数据,如果使用aocache提供的方法缓存机制,他就需要有办法能清理这些缓存。原创 2024-06-29 11:23:04 · 454 阅读 · 0 评论 -
java:aocache的单实例缓存(二)
之前一篇博客介绍了使用注解实现单实例缓存的方式,同时也指出了这种方式的使用限制,就是这个注解定义的构造方法,不能再创建出新实例。为了更灵活方便的实现单实例。aocache最新版本0.4.0增加了支持单实例缓存的工具类SingletonSingleton提供了两种方法分别提供弱引用单实例缓存,和普通强引用单实例。原创 2024-06-29 10:36:34 · 439 阅读 · 0 评论 -
java:aocache:基于aspectJ实现的方法缓存工具
最近一直在做一些服务端的设计,经常遇到常量计算的问题,比如获取查找一个类的所有方法,获取有指定注解(Annnotation)的方法并查找注解的上特定的元注解是否有特定的值。比如在服务端方法拦截器上经常执行这样的计算,事实上在运行时,对于一个类(Class)或方法(Method),它在运行时就是个常量,上述复杂计算返回结果也是一个恒定的值不会改变,称之为常量计算。适用于不需要长期保存的数据。如上的模式大概就是一内一外两个方法,内部方法负责真正的计算由缓存对象调用,外部方法则直接从缓存读取数据提供给调用方。原创 2024-06-26 11:05:50 · 1453 阅读 · 0 评论 -
java:aocache的单实例缓存(一)
定义在构造方法的使用方式是有限制的。因为就无法再创建新实例,如果又希望保持构造方法创建新实例,又能得到单实例缓存。建议不要在构造方法上定义。可以定义在构造方法上,定义在构造方法,该构建方法就成了单实例模式。介绍了aocache的基本使用,也就是说,只要构建方法参数相同,注解注解,而是定义一个有。原创 2024-06-26 11:20:16 · 593 阅读 · 0 评论 -
aspectj:AOP编程备忘录-切面定义的注意事项
AOP编程时定义切面时需要注意的事。原创 2024-06-26 11:48:10 · 390 阅读 · 0 评论