如何创建注释来注册类的实例



我从未在java中做过注释,我想创建一个注释来注册已注释类的所有实例,如下所示:

@MyAnnotation
class A{}

class B{
private List<Object> registeredInstances = new ArrayList<>();

public void registeringMethod(Object instance){
registeredInstances.add(instance);
}
}

例如每次创建新的a对象时,都会使用实例调用registeringMethod。有可能吗?

感谢

使用纯注释是无法做到这一点的。

您必须使用某种面向方面的编程才能做到这一点。看到这个类似的问题:

如何使用AOP拦截File、FileReader、FileWriter、FileInputStream和FileOutputStream的构造函数?

但是它很复杂,只需将自己的注册逻辑添加到构造函数中可能会更容易,尽管这有点令人反感,因为您正在注册不完整的对象。

最新更新