Java 注释的替代方案?

Java 注释的替代方案?,java,annotations,Java,Annotations,我的情况是,我不能向类中添加注释,但有没有办法向bean(代码)中添加某种您无法编辑的元数据,但重构后还能保存什么呢?如果我扩展bean,然后向该类添加注释,那该怎么办呢?旧方法是,使用标记接口,即没有方法的接口,如Serializable或Cloneable根据您的IDE,您所需要做的就是在文本文件(如属性或XML)中引用您的类或方法或字段。当您重命名类/方法/字段时,您的IDE将找到它们并提供执行文本查找/替换的功能。(尽管有些方法把一个方法移到另一个类不会很好) 你可以考虑AOP。 它允

我的情况是,我不能向类中添加注释,但有没有办法向bean(代码)中添加某种您无法编辑的元数据,但重构后还能保存什么呢?如果我扩展bean,然后向该类添加注释,那该怎么办呢?

旧方法是,使用标记接口,即没有方法的接口,如
Serializable
Cloneable

根据您的IDE,您所需要做的就是在文本文件(如属性或XML)中引用您的类或方法或字段。当您重命名类/方法/字段时,您的IDE将找到它们并提供执行文本查找/替换的功能。(尽管有些方法把一个方法移到另一个类不会很好)

你可以考虑AOP。

它允许您在外部向特定方法添加行为,而无需编辑类。额外的代码可以在方法之前、之后或周围


如果不确切告诉我们您想要实现什么,很难猜测您需要什么。

您需要从其他代码中使用元数据,还是应该让人可读


您可以使用代码插装将任何数据添加到类中(javassist、某些aop等)

您可以添加带有元数据的并行类层次结构。有点像
BeanInfo
类为Java bean提供元数据。

如果你不能修改代码,你可以将元数据放在一个全局映射中,以类为键。

我怀疑如果不能将注释添加到类中,该类也不能实现标记接口。@Guillaume当然,但他问道:)让代码必须更改但不能修改是许多罪恶的根源。好主意,但是你怎么能将AOP提供的信息用作其他代码的元数据呢?(很抱歉,我在另一个回答中删除了我的评论,我没有看到你的回答)我不确定,因为我说这个问题很模糊。我觉得这是一个可能的解决方案,可以在不改变类的情况下向类添加行为,这基本上就是注释(可以)提供的。元数据可能意味着很多不同的东西。你能澄清一下你打算如何使用元数据吗?