如何查找具有特定注释的所有Java对象(而不是类)?

时间:2017-05-15 08:23:42

标签: java annotations

我正在设计一个系统,通过用一些注释标记它们来自动更新对象中的成员变量。然后,其他一些后台线程将更新对象。

为此,执行更新的运行时组件需要知道包含此批注的所有Java对象。我可以看到有方法可以找到带有注释类型的类,但是从类到类的实例要困难得多。我想明确避免"注册"构造函数中的对象,尽管我可以做到最后。

有关如何实现这一目标的任何建议吗?

1 个答案:

答案 0 :(得分:1)

您可以使用某种HashMap缓存来存储要更新的对象。

1)编写注释@Updatable以标记可更新的对象

2)编写将包含要更新的所有对象的HashMap

3)在应用程序初始化时通过使用@Updatable查找对象来初始化此HashMap如果您使用的是Spring,则可以为此目的编写自定义BeanPostProcessor