注释是否在重新编译,重新部署基于xml的配置方面具有显着优势?

时间:2013-07-26 04:22:47

标签: java hibernate annotations

我刚刚开始使用Java中基于注释的编程。我使用基于xml的设置(休眠)进行配置。

在注释中,我们必须在java文件中编写注释,对。那么,如果我们需要改变一些东西,那么我们必须编辑java文件,再次编译它?这是我理解的正确方法吗?

我读到了关于advantages of annotation in hibernate的这个问题。但我的问题不仅限于休眠。

UDPATE(在任何地方都不应该使用写入一次)

如果是基于xml的配置,我们只需进行更改并重新启动它的应用程序吗?

但是在注释的情况下,我们需要再次重新编译,重新部署并重新启动应用程序。这不是一个缺点吗?

3 个答案:

答案 0 :(得分:1)

我对Hibernate知之甚少,但是在更改源代码后需要重新编译不会破坏“一次编写,随处运行”,这只是为了引用已编译Java应用程序的(理论)平台独立性

答案 1 :(得分:1)

绝对没有!

要反映源代码中所做的更改,您必须再次编译和运行代码,并且适用于所有编程语言。仅使用注释或xml配置文件可以简化项目设置,调试和运行。即使您的项目有xml / annotation(Ex Spring或Hibernate),您也必须重新编译项目以反映您的更改。

“一次编写运行”范例是当我们编译任何java代码时,它被转换为可以在任何OS /平台上运行的字节代码。您所需要的只是安装的JVM,它实际上理解并运行java代码。

更新了问题解答:同样答案是否定的!这根本不是一个缺点。从表面上看,它是一种防止编写更多代码的功能(这样您就可以更专注于业务逻辑)。您必须为您的项目选择正确的组合。例如,最近我在Spring工作,我使用both xml configs and annotations。 xml config具有用户可配置的配置,其中注释主要用于流控制。例如,我的案例中的注释决定了在创建bean之前或之后要执行的内容。大多数基于注释的代码都是如此。它用于告诉JVM指定的功能是针对指定的条件,但处理所需的数据是从xml配置获得的。

答案 2 :(得分:0)

在任何地方编写一次运行:意味着您可以在任何平台上运行它,而无需为特定平台重做任何内容。

这并不意味着您只编写一次,如果您需要更改某些内容,则无需重新编译您的类就可以使用。