【发布时间】:2013-06-09 19:12:35
【问题描述】:
我是这里的java新手,我正在阅读注释和xml,我个人发现xml有很多优点,比如它可以放在应用程序之外,可以在不重新编译类文件的情况下进行更改。如果我使用注释,如果我需要进行更改,则需要转到源代码并重新编译。如果是这种情况,我们为什么要使用注释
【问题讨论】:
-
听起来像是世界或意见可能发生冲突的问题之一。
标签: java annotations
我是这里的java新手,我正在阅读注释和xml,我个人发现xml有很多优点,比如它可以放在应用程序之外,可以在不重新编译类文件的情况下进行更改。如果我使用注释,如果我需要进行更改,则需要转到源代码并重新编译。如果是这种情况,我们为什么要使用注释
【问题讨论】:
标签: java annotations
首先,我们将注释用于更多的事情,而不仅仅是配置。
现在:使用注解进行配置的一些优点
可读性。例如,在 JPA 配置中,通过注释而不是 hbm.xml 文件来声明新实体要干净得多。这些东西只在开发阶段改变,所以重新编译代码没有问题。当您使用 xml 文件时,您必须经常打开实体和 hbm 文件才能进行更改。这可能会导致一些错误。
灵活性。 在 XML 文件中,您必须以“只有一种正确的方式”编写所有配置。既是优势又是劣势。
长度。 基于 XML 的配置通常很长(如 pom 或 hbm)。注释使用起来要简单得多。
【讨论】:
注释的优点:
1) 所有信息都在一个文件中(无需打开两个文件来配置给定的行为)
2)类发生变化时,无需修改xml文件
xml文件的优点:
1) POJO 与其行为之间的明确分离
2)当你不知道哪个 POJO 对行为负责时,更容易找到那个 POJO(在文件的子集而不是所有源代码中搜索)
【讨论】:
这个问题实际上很难用简短的答案来回答。
基本上,所有形式的配置都有利有弊。注释、xml 或基于 Java 的配置。所有的优点和缺点都是 100% 有效的。他们的主要目标是一致性。确保项目中的每个人都遵循相同的规则。
这也不是一个或哪个的问题。因为您可以在应用程序中使用任何配置选项组合。一个或三个结合起来。你只需要制定你的规则并遵守它们
所以我个人的看法是。请记住,这只是我的观点,而不是事实。
1) 注释优于其他所有,因为我可以更快地配置和编码
2) 那些我无法注释的 bean 的基于 Java 的配置(它们不是我的类,所以我没有添加注释的源)
3) xml 剩下什么,或者我需要它在我的类包之外完全外部化,我不想重新编译和重新打包。 (非常罕见,就像我从来没有遇到过我需要这个一样)
【讨论】: