为什么注释比Java EE中的部署描述符更受欢迎?

use*_*662 3 java-ee

使用部署描述符,我可以在部署期间轻松配置bean和其他servlet信息,而无需打开代码并再次编译.

那么为什么注释取代了部署描述符,注释在spring,JSF 2.0和hibernate中也被遵循.

任何人都可以告诉我注释优于部署描述符和其他配置文件(如beans.xml,spring-config.xml,struts.xml)的主要优点吗?

Grz*_*bek 5

首先,有一种趋势是用一种(Java)替换一种双语言编程(Java + XML).

它有时是正确的 - 当一切(数据,方法和元数据/注释)都在一个地方时,分析和原型化应用程序很容易.

但也有隐藏的真相.XML有它的用处,在Spring中有一种XML DSL - 专用的XML标记/属性来配置应用程序的特定方面(安全性,MVC,事务配置,AOP).使用它可以容易地编写和(更重要的是)读取和维护这样的配置.

一个,有时被遗忘的方面.使用XML,您可以以不同方式配置同一类的两个对象.使用注释,您可以将它们放在类中,因此此类的每个对象通常都是相同的.

  • 是.更改注释需要重新编译,我不确定是否有解决方案.但是改变XML并不像看起来那么容易 - XML通常打包在JAR中和/或放入WAR应用程序的WEB-INF中,因此它也可能需要构建过程的部分或全部步骤. (2认同)