是否可以编写“ Maven插件”或类似的在编译时更改.java的东西?
例如:
@Entity
... class ... {
@Id
long id
}
我想注释掉所有注释,并根据实体创建ORM-Mapping.xml /持久性
答案 0 :(得分:0)
注释主要基于启用/禁用其识别的配置文件。
使用Spring profiles来区分配置类。如果将显示特殊配置文件,则不会识别任何配置类。该解决方案要求根据Spring配置文件对所有配置进行配置。
@Configuration
@Profile("noAnnotations")
public class SomeConfigurationClass
答案 1 :(得分:0)
有可能。 lombok项目修改了已编译的代码,但是没有公开的API可以这样做。 (请参见How does lombok work?)如果必须去除注释,这就是您想要的。在运行时禁用所有注释可能是不合理的。如果您只想从已编译类中发现的注释中生成某些内容,则更为简单
答案 2 :(得分:-1)
您描述的内容听起来像是在寻找C / C ++预处理器/模板化功能?
也许注释处理可以帮助您https://docs.oracle.com/javase/8/docs/api/javax/annotation/processing/Processor.html
除此之外,Spring框架还可以从实体注释中推断出persistence.xml
。