[英]Best practices when using Spring 3 annotations
我正在寻找使用Spring 3注释时的一些最佳实践 。
我目前正在转向Spring 3,从我到目前为止所读到的内容,我看到很多重点都放在使用注释和远离XML配置上。
实际上推荐的是两种风格的混合,注释涵盖了不会经常更改的内容或者从一次运行到下一次运行(例如@Controller
将在应用程序的生命周期中保持这样),而更改并且必须可配置进入XML(例如,邮件smtp地址,应用程序与之交谈的Web服务的端点等)。
我的问题是应该注释注释到什么程度?
在哪一点上注释会使事情变得更难而不是更容易? 技术(春季3)是否完全被采用以便能够做出这样的陈述,还是需要更多的时间让人们获得经验并然后反思这个问题?
获得真正的高级信息总是很困难的。
简单的教程“看看我的博客,我复制了来自Spring Source网站的hello word教程......现在你可以在任何地方添加花哨的注释,它解决了我们所有的问题,包括癌症和饥饿。” 是不是很有用。
如果你还记得正确的春天核心有几个目的,其中包括:
所有这些需求的Anotation失败:
事实上,我们改变了我们的重点:
所以当它出现时我会使用anotations。 当它纯粹是为了删除样板代码,冗长。 我会将XML配置文件用于您想要配置的东西,即使它只是在单元测试中提供服务的存根实现。
@Value
,我使用@Value
作为通过PropertyPlaceholderConfigurer
在外部属性文件中配置的属性。
什么时候使用xml没有严格的限制,但我使用的是xml:
回应你的评论:春天被广泛采用,但“好”和“坏”是非常主观的。 即便是我的台词也不是普遍的真理。 XML,注释和编程配置都存在于某个目的,每个开发人员/公司都有自己的偏好。
正如我所说 - 没有严格的界限,也没有注释的普遍良好做法。
我认为注释的使用可能导致一些问题的两种情况。 首先,如果要在实体中编写复杂的命名查询(JPA)。 我看到了一些实体代码示例,并问自己代码是否真的是java代码。 程序代码中的许多元数据会降低它的可读性,这会破坏干净的代码原则。
第二个问题是JVM版本之间的可移植性。 注释是1.5+的特征。 如果您的软件应该支持早期的JVM版本,那么您可能不会使用这些版本。
无论如何,您可以随时享受注释,毫无疑问,如果属性仍然存在或输入正确等,您可以节省时间不更改IDE选项卡以检查XML。
对于非常小的项目,如果你没有太多的东西要在春天宣布,你仍然可以使用XML版本。 但是,如果你在一个巨大的项目中,如果你有10个xml的配置,事情可能会非常麻烦。
这可能对你没什么帮助,但在工作中他们不想使用自动装配,因为它需要一个类路径扫描(但我认为这可以是包定义)。 因此,它会根据项目的大小增加应用程序的启动时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.