强制带注释的类包含带注释的字段
是否可以强制(在编译时)带注释的类具有带注释的字段?
我有这个注释:
@Target(value = ElementType.TYPE) @interface MyClass {} @Target(value = ElementType.FIELD) @interface MyField {}
现在我希望像这样的类的编译失败:
@MyClass class Customer { }
这应该工作:
@MyClass class Customer { @MyField String text; }
是的,使用apt (注释处理工具)。
但对于这样简单的任务来说,这将是一种过度杀伤力。
您可以创建一些在应用程序启动时触发的侦听器并检查此要求。
最后,您可以通过假设合理的默认值来避免这种情况 – 即如果类被注释,则考虑所有注释的字段,并使用默认值。
- Spring Cloud Configuration Server无法使用本地属性文件
- 使用java中的抽象类重载方法重载
- Weblogic在javax.ejb.EJBException中包装应用程序exception
- JSch sftp上传/下载进度
- JpaRepository,@ Transaction和repository.saveAndFlush
- class not found exception com.mysql.jdbc.driver
- 如果意外删除.metadata,如何获取项目列表
- 在线提供Java程序供所有人使用
- 从jersey 1.x迁移到jersey 2.x时的NoClassDefFoundError ProcessingException(2.8)