当前位置: 首页 > 面试题库 >

反对注解的论点

佟高澹
2023-03-14
问题内容

我的团队正在向Spring 3.0迁移,有些人想开始将所有内容迁移到注释中。当我看到具有此类方法的类时,我的直觉会很不好(代码气味?)(仅作为示例-
并非所有真正的注释)

@Transaction
@Method("GET")
@PathElement("time")
@PathElement("date")
@Autowired
@Secure("ROLE_ADMIN")
public void manage(@Qualifier('time')int time) {
...
}

我是不是落后于时代,或者这对其他任何人来说似乎都是一个可怕的主意?而是使用诸如继承和多态性之类的OO概念,现在一切都按惯例或通过注释进行。我只是不喜欢它。必须重新编译所有代码以更改IMO所配置的内容似乎是错误的。但这似乎是一切(尤其是Spring)发展的方向。我应该只是“克服它”还是应该后退并尝试使我们的代码尽可能地保持注释的自由?


问题答案:

实际上,我认为您对直觉的不良感觉更多地与注释(如此混合配置与代码)有关。

就我个人而言,我的感觉与您相同,我希望将配置(例如事务定义,路径元素,控制器应映射到的URL等)保留在代码库本身之外以及外部Spring
XML上下文文件中。

我认为,尽管正确的方法取决于意见和您偏爱的方法-我预计,社区的一半将同意注释方法,另一半将同意外部配置方法。



 类似资料:
  • 我正在从Java学习Java:Just in Time,John Latham。我有点困惑。 我们有一个程序,它从命令行参数中获取当前年龄并计算明年的年龄。 用户可以通过两种方式使此程序失败。首先,他们可能会在没有命令行参数的情况下运行它,因此在尝试访问 args[0] 时会出现问题。其次,它们可能提供一个不是整数的字符串表示的参数,因此 Integer.parseInt() 方法将无法将该值解释

  • 本文向大家介绍java 注解annotation的使用以及反射如何获取注解,包括了java 注解annotation的使用以及反射如何获取注解的使用技巧和注意事项,需要的朋友参考一下  一、注解基本知识 1、元注解 元注解是指注解的注解。包括  @Retention @Target @Document @Inherited四种。 1. Annotation型定义为@interface, 所有的An

  • 问题内容: 我们有一个非常复杂的打印工作流程,其中控件使用Adobe Reader或Adobe Acrobat为生成的PDF文档的草稿版本添加注释和注释。作为工作流的一部分,应解析导入的带有批注和注释的PDF文档,并将批注导入CMS系统(连同PDF)。 问:是否有可靠的工具(首选Python或Java)以干净可靠的方式将此类数据提取到PDF文件? 问题答案: 此代码应该可以完成工作。从pdf解析注

  • 从JDK5开始,Java增加了Annotation(注解),Annotation是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用Annotation,开发人员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充的信息。代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证、处理或者进行部署。 Annotation提供了一种为程序元素(包、类、构造器、方

  • 公共技术点之 Java 注解 Annotation 原文链接:Android 开源项目源码解析 不少开源库都用到了注解的方式来简化代码提高开发效率。 本文简单介绍下 Annotation 示例、概念及作用、分类、自定义、解析,并对几个 Android 开源库 Annotation 原理进行简析。 1. Annotation 示例 Override Annotation @Override publ