![](https://csdnimg.cn/release/download_crawler_static/88356903/bg4.jpg)
狱”。
Java社区认识到了XML的滥用问题,并且已经非常成功地用Java代码中的注解取代
了XML。EJB3是Java官方标准化机构促进Java企业组件中注解使用的一项成果。EJB3
完全可选择的使用XML文档,它向正确方向迈出了积极的一步。Seam加入了EJB3的注
解,为整个web应用拓展了基于注解的编程模型。
当然,XML对于配置数据并非完全不利。Seam设计者认识到XML适用于指定页面流
程或者定义业务流程的web应用。XML文档使开发者集中地管理整个web应用的工作流程
成为可能,同时也反对将配置信息分散于java源文件中。工作流程很少能与源代码耦合,
因此XML文档中并不需要重复键入已存在于代码中的信息。
»
8.为测试而设计
Seam为了易于测试而重新设计。因为所有的Seam组件都是注解过的POJO,它们
易于进行单元测试。开发者仅仅通过利用常规的Java new关键词来构造实例,然后在测
试框架(例如JUnit 或者TestNG)中运行任何方法。如果需要测试多个Seam组件的交
互,开发者则逐个实例化这些组件,然后手动建立它们的相互关系(也就是显示地使用
setter 方法,而不是依靠Seam依赖注入功能)。
集成测试整个Seam应用比较复杂,因为开发者必须在Seam容器中运行应用。Seam
用嵌入的轻量级容器来帮助该类测试。在测试框架中,开发者能按步骤地加载Seam容
器,然后运行测试。
»
9. 卓越的工具支持
对于一个聚焦于开发者生产力的应用框架,开发工具的支持至关重要。Seam发布了
一个基于命令行的生成器,称作 SeamGen。SeamGen类似于Ruby-On-Rails中的生成
器,它支持诸如从一个数据库生成完整CRUD应用的功能,聪明的开发者会通过诸如“编
辑/保存/在浏览器重新载入”的步骤、有测试支持的特性,来改进web应用。
但更重要的是,SeamGen生成项目不依赖于主流的Java集成开发环境,如Eclipse
和NetBeans。有了SeamGen,开发者可以随时入门。
»
10. 让我们开始编码吧
总而言之,Seam为JavaEE应用削减了开发费用,同时,增加了Java EE 5.0不具有
的强大的新功能。在下节(节选自本书第二章),我们将给您展示一些实际代码例子来阐
述Seam如何工作的。你能通过网站http://www.michaelyuan.com/seam/下载到本
书中所有的例子的源代码。