Seam无缝集成:为JSF定做操纵程序框架[Java编程]
本文“Seam无缝集成:为JSF定做操纵程序框架[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
JavaServer Faces (JSF) 是用于 Java™ Web 利用程序的第一个尺度化的用户界面框架.
而 Seam 是一个扩大 JSF 的强盛的利用程序框架.在这个由三部份构成的新系列中的第一篇文章中,发现这两种框架之间的互补性.Dan Allen 介绍了 Seam 对 JSF 生命周期的加强,包含上下文状况管理、 RESTful URL、Ajax remoting、得当的非常处理和约定优于配置.
JSF 正开始凭仗其 Java Web 尺度的地位主导 Java Web 利用程序市场.随着更多的开辟人员受托利用 JSF 作为底子来架构利用程序,他们发现 JSF 的核心标准中清楚地阐明: JSF 不是为成为一个完好的 Web 利用程序框架而计划的.相反,它供应一个结实的、事件驱动的 API 和 UI 组件库,用于构建更复杂的利用程序框架.
我在探求用于补偿 JSF 的组件驱动架构的扩大时,发现 Shale 和 Struts 2 都有不足之处.我解除了 Struts 2,因为它将 JSF 看做是面向更大范围的计划.而 Shale 仿佛更接近一些,它基本上是基于 JSF,但是 对此我持保存看法.相反,JBoss Seam 是一个全面的利用程序框架,它构建在 JSF 的底子上,但是并没有侵害它的核心目标.
这个由三部份构成的系列将介绍 Seam 利用程序框架,演示它的长处,并但愿使您相信它与 JSF 是开辟 Java 企业利用程序的极好的组合.在阅读本系列之前,假如您想下载 Seam,那么请阅读 参考资料 一节.
探求 Seam
方才阅读到关于 JBoss Seam 的文章(见 参考资料)的第一页,我就知道 Seam 恰是我要找的项目.Seam 的开辟人员,特别是 Gavin King,在经过充足多的、实际的开辟之后,知道一个 Web 利用程序框架必须从一开始就攻破难题,包含上下文状况管理、RESTful 和用户友好的 URL、Ajax remoting、得当的非常处理和约定优于配置.令 Java 开辟人员欣喜的是,Seam 可以满意全部这些需求,乃至可以满意更多需求.假如您正利用 JSF,并且还没据说过 Seam,那么我激烈倡议您看看 Seam 的参考文档(见 参考资料).Seam 附带的手册就是最好的资料!
固然 Seam 明显非常适合作为 JSF 的增补,但是在激烈的竞争环境中,它遭到了一定程度的轻蔑.当今市场中充斥着各种各样的 Web 利用程序框架 —— 包含 Shale 和 Struts 2,新来者常常不受器重,Seam 还没有在主风行列站稳脚跟. Seam 没有很快风行的另一个缘由是关于这种框架的某些谎言使 Java 开辟人员没能熟习到它的直接长处.
我要破坏的一个谎言是:Seam 只有和 EJB 3 一同利用时才有效,大概说在利用 Seam 开辟利用程序时需求一个 EJB3 容器.实际上,Seam 的文档清楚地驳斥了这种曲解:"Seam 并不要求组件是 EJB,乃至在没有兼容 EJB 3.0 的容器时也能利用." 假如说只有在利用 EJB 3 的同时才能利用 Seam,那么无异于说只有在利用 Hibernate 的同时才能利用 Spring.固然这两对都有很强的互补性,但是每一对的二者之间都不是彼此依靠的.
对 EJB3 的考虑
正如我将要注释的那样,Seam 通过一些有代价的 hook 和组件管理进程 扩大默许 JSF 生命周期.还可以完好独立于 EJB3 利用 Seam.但是要记着,和 EJB3 一样,Seam 依靠于 JDK 5 注释元数据举行组件声明,因此利用 Seam 时,还需求同时利用兼容 Java 5 的 JVM.图 1 显示了一个 Seam POJO 实现的利用程序仓库:
图 1. 一个 Seam POJO 利用程序仓库
实际上,即便完好不引用 EJB 3 jar 或描写符文件,也可以利用 Seam 的很多功效.当和 POJO 一同利用 Seam 时,该框架保存对组件实例化的完好掌握,并且不要求任何专门的配置.Seam 负责大大都 Java 5 注释处理,而不需求依靠于 EJB 3 中的任何机制.的确 依靠于 EJB3 容器的一组有限的注释则是专用于那个环境的.在某些情形下,将 Seam 集成到一个没有 EJB 3 耦合的 IT 投资中可以得到更好的本钱效益.若何利用 Seam 视个人偏好而定.
以上是“Seam无缝集成:为JSF定做操纵程序框架[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |