下面我将为大家总结一下 Java 部分的框架和开源项目,让您从总的方面对 Java 部分框架有一定的了解。
Spring Framework【Java 开源 JEE 框架】
Spring 是一个解决了许多在 J2EE 开发中常见的问题的强大框架。Spring 提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不 是
对类编程的良好习惯。Spring 的架构基础是基于使用 JavaBean 属性的 InversionofControl 容器。然而,这仅仅是完整图景中的 一部分:Spring
在使用 IoC 容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。
Spring 提供了唯一的数据访问抽象,包括简单和有效率的 JDBC 框架,极大的改进了效率并且减少了可能的错误。Spring 的数据访问架构 还
集成了 Hibernate 和其他 O/Rmapping 解决方案。Spring 还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如 JTA 或 者 JDBC
事务提供一个一致的编程模型。
Spring 提供了一个用标准 Java 语言编写的 AOP 框架,它给 POJOs 提供了声明式的事务管理和其他企业事务--如果你需要--还能实现 你自
己的 aspects。这个框架足够强大,使得应用程序能够抛开 EJB 的复杂性,同时享受着和传统 EJB 相关的关键服务。Spring 还提供了可以和 IoC
容器集成的强大而灵活的 MVCWeb 框架。【SpringIDE:Eclipse 平台下一个辅助开发插件】
WebWork【Java 开源 Web 开发框架】
WebWork 是由 OpenSymphony 组织开发的,致力于组件化和代码重用的拉出式MVC 模式 J2EEWeb 框架。WebWork 目前最 新版本是,
现在的前身是 RickardOberg 开发的 WebWork,但现在 WebWork 已经被拆分成了 Xwork1 和 WebWork2 两个项目。Xwork 简洁、灵活功能
强大,它是一个标准的 Command 模式实现,并且完全从 web 层脱离出来。
Xwork 提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL–
theObjectGraphNotationLanguage),IoC(InversionofControl 倒置控制)容器等。WebWork2 建 立在 Xwork 之上,处理 HTTP 的响应和请求。
WebWork2 使用 ServletDispatcher 将 HTTP 请求的变成 Action(业务层 Action 类),session(会话)application(应用程序)范围的映射,request
请求参数映射。
WebWork2 支持多视图表示,视图部分可以使用JSP,Velocity,FreeMarker,JasperReports,XML 等。 在中添加了对 AJAX 的支持,这支持
是构建在 DWR 与 Dojo 这两个框架的基础之上.【EclipseWork:用于 WebWork 辅助开发的一个 Eclipse 插件】
Struts【Java 开源 Web 开发框架】
Struts 是一个基于 SunJ2EE 平台的 MVC 框架,主要是采用 Servlet 和 JSP 技术来实现的。由于 Struts 能充分满足应用开发 的需求,简单易
用,敏捷迅速,在过去的一年中颇受关注。Struts 把 Servlet、JSP、自定义标签和信息资源(messageresources)整合到一个统一的框架中,开发
人员利用其进 行开发时不用再自己编码实现全套 MVC 模式,极大的节省了时间,所以说Struts 是一个非常不错的应用框架。【StrutsIDE:用于
Struts 辅 助开发的一个 Eclipse 插件】
Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得Java 程序员可以随心所欲的使用对象 编
程思维来操纵数据库。Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序实用,也可以在 Servlet/JSP 的 Web 应用中使
用,最具革命意义的是,Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。Eclipse 平台下的 Hibernate 辅助开发工
具:【HibernateSynchronizer】【MiddlegenIDE】
Quartz 是 OpenSymphony 开源组织在 Jobscheduling 领域又一个开源项目,它可以与 J2EE 与 J2SE 应用程序相结合 也可以单独使用。Quartz
可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs 这样复杂的日程序表。Jobs 可以做成标准的 Java 组件或 EJBs。Quartz 的最新版
本为 Quartz1.5.0。
Velocity 是一个基于 java 的模板引擎(templateengine)。它允许任何人仅仅简单的使用模板语言 (templatelanguage)来引用由 java 代码定
义的对象。当 Velocity 应用于 web 开发时,界面设计人员可以和java 程序开发人员 同步开发一个遵循 MVC 架构的 web 站点,也就是说,页面
设计人员可以只关注页面的显示效果,而由 java 程序开发人员关注业务逻辑编码。 Velocity 将 java 代码从 web 页面中分离出来,这样为 web
站点的长期维护提供了便利,同时也为我们在JSP 和 PHP 之外又提供了一种可选的方 案。Velocity 的能力远不止 web 站点开发这个领域,例如,
它可以从模板(template)产生 SQL 和 PostScript、XML,它也可以 被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。
Velocity 也可以为 Turbineweb 开发架构提供模板服务 (templateservice)。Velocity+Turbine 提供一个模板服务的方式允许一个 web 应用以一
个真正的 MVC 模型进行开发。 【VeloEclipse:Velocity 在 Eclipse 平台下的一个辅助开发插件】
iBATIS【Java 开源持久层框架】
使用 ibatis 提供的 ORM 机制,对业务逻辑实现人员而言,面对的是纯粹的Java 对象,这一层与通过 Hibernate 实现 ORM 而言基本 一致,
而对于具体的数据操作,Hibernate 会自动生成 SQL 语句,而 ibatis 则要求开发者编写具体的 SQL 语句。相对 Hibernate 等“全 自动”ORM 机