我的团队正在向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上下文文件中。
我认为,尽管正确的方法取决于意见和您偏爱的方法-我预计,社区的一半将同意注释方法,另一半将同意外部配置方法。