当前位置: 首页 > 图文教程 > XML家族 > XML > xml和Annotation作为配置项的优缺点

XML
一个以Javascript+xml的树型列表
用ajax技术制作在线歌词搜索功能
网络编程:如何生成XML数据
如何让WebServer返回指定XML内容
网页编程必看:XML文法分析
编程:如何生成XML数据
用PHP与XML联手进行网站编程
Javascript+XML实现分页的实例
XML技巧五则
使用xmlhttp为网站增加域名查询功能
详解XML-RPC和JAX-RPC
XML在.net平台下的自定义控件的应用(1)
XML在.net平台下的自定义控件的应用(2)
基础知识认识XML:下一代网络的基石
Web2.0岁月:使用AJAX技术的十大理由
了解 XML实现通用的数据访问
AJAX基础教程及初步使用
Web设计中如何使用XML数据
AJAX应用之草稿自动保存
XML 中的常见问题(一)

XML 中的 xml和Annotation作为配置项的优缺点


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-03-20   浏览: 393 ::
收藏到网摘: n/a

Java Annotation 基础》中我们简单地介绍了 Java Annotation 的作用以及 Java 标准的 Annotation 。今天我们来了解一下 xml 和 Annotation 各自作为配置项的优缺点。

  首先说说 xml 。目前 web 应用中几乎都使用 xml 作为配置项,例如我们常用的框架 Struts、Spring、Hibernate、IBatis 等等都采用 xml 作为配置。xml 之所以这么流行,是因为它的很多优点是其它技术的配置所无法替代的。
  1、xml 作为可扩展标记语言最大的优势在于开发者能够为软件量身定制适用的标记,使代码更加通俗易懂。
  2、利用 xml 配置能使软件更具扩展性。例如 Spring 将 class 间的依赖配置在 xml 中,最大限度地提升应用的可扩展性。
  3、具有成熟的验证机制确保程序正确性。利用 Schema 或 DTD 可以对 xml 的正确性进行验证,避免了非法的配置导致应用程序出错。
  4、修改配置而无需变动现有程序。

  虽然有如此多的好处,但毕竟没有什么万能的东西,xml 也有自身的缺点。
  1、需要解析工具或类库的支持。
  2、解析 xml 势必会影响应用程序性能,占用系统资源。
  3、配置文件过多导致管理变得困难。
  4、编译期无法对其配置项的正确性进行验证,或要查错只能在运行期。
  5、IDE 无法验证配置项的正确性无能为力。
  6、查错变得困难。往往配置的一个手误导致莫名其妙的错误。
  7、开发人员不得不同时维护代码和配置文件,开发效率变得低下。
  8、配置项与代码间存在潜规则。改变了任何一方都有可能影响另外一方。

  让我们来看看 Annotation 的优点。
  1、保存在 class 文件中,降低维护成本。
  2、无需工具支持,无需解析。
  3、编译期即可验证正确性,查错变得容易。
  4、提升开发效率。

  同样 Annotation 也不是万能的,它也有很多缺点。
  1、若要对配置项进行修改,不得不修改 Java 文件,重新编译打包应用。
  2、配置项编码在 Java 文件中,可扩展性差。

  总结:没有一个事物是万能的,同样 xml 和 Java Annotation 都有各自的优缺点。通过以上对比,细心的读者可能已经发现它们的优缺点恰恰是互补的。xml 的强项是 Annotation 所不具备的,而 Annotation 的优势也是 xml 所欠缺的。这也正是时下流行的 xml + Annotation 配置的原因所在。在下一篇日志中,我们将使用 xml 和 Annotation 以及 xml + Annotation 各自完成简单的对象注射功能,使读者更加深入地了解 xml 和 Annotation 的作用。