【发布时间】:2021-03-15 20:24:02
【问题描述】:
我有几项服务:
@Service
public class Order {...}
@Service
public class Statistic {...}
@Service
public class Product {...}
所有服务都组合在 ArrayLists 中的一个公共类中
public class MyExample {
@MyLogAnnotation
private List <Order> listOrder;
@MyLogAnnotation
private List <Statistic> listStatistic;
@MyLogAnnotation
private List <Product> listProduct
}
如何实现注解(@MyLogAnnotation) 监控Lists(Order,Statistic,Product) 以及每次新服务添加到列表时。记录器显示列表中的元素数量和新服务的类别。
【问题讨论】:
-
如果订单是一项服务,为什么会有订单列表?你的设计毫无意义。我建议首先重新考虑设计
-
就像@Stultuske 所说,服务列表(即单例!)没有多大意义。此外,Spring AOP 通常使用类或方法上的注释,而不是字段。最后但同样重要的是,Spring AOP 仅适用于 Spring bean。 JDK 类不是 Spring 组件。这里有很多设计问题。这是一个典型的XY problem。请在 GitHub 上显示MCVE,并说明您想要实现的什么,而不是如何您认为应该在技术上完成。我相信有一个很好的解决方案。
-
嗨,Kriegaex!感谢您的扩展答案。请查看我的存储库。在那里我更详细地描述了我的任务。 [链接]github.com/finproject/aspect.git
标签: java spring aop spring-aop