SpringSide2.0概述

1. 介绍
SpringSide以Spring Framework为核心,以RoR的简约风格整合Java社区的众多开源项目,大家开发Java企业应用提供一个方便起点。

它整合了Full-Stack 的开源构件库,提供包括,WebService,JMS,工作流,安全,报表,规则引擎,搜索引擎,定时任务等企业应用特性,以构件式的开发架构,配合Ant与Eclipse plugin的生成工具,作为一个一站式的快速Java开发框架。

同时,它的示例代码充分演示了开发团队与SpringSide社区共同总结的,Java企业应用领域方方面面的Best Practice。

与SpringSide类似的框架有Appfuse、JBoss Seam、Able、Grails 、Trails 与 Rife ,SpringSide存在的意义在于,它全由主流Java框架以最简约的方式组成, 丰富的企业应用经验总结与全中文的参考文档与代码注释。

SpringSide由下面三部分组成:

Core SpringSide核心代码。按照Spring Style,充分利用JDK5特性,编写必要的粘合、封装与便利代码。
Examples 含新手入门公司培训专用的Helloworld示例 与全面展示企业应用特性的Bookstore书店完整示例 (观看演示)
Tools 可重用的开源构件库,快速生成项目、加入构件与生成CRUD代码的Ant脚本、Eclipse Plugin。
2. 架构
RoR 是一种态度,只要大家放弃J2EE无限分层,无限追求设计模式的思路,换上和RoR一样的简约态度,即使用最主流的Spring+Struts+Hibernate架构,配合JDK5一样可以极少的代码行数完成CRUD的模块。

SpringSide当前版本推荐的基本架构:

JDK5与Spring2.0作为架构基础。
Entity POJO类由Hibernate Annotation注释ORM映射关系,POJO属性与数据库Schema默认一一映射,只需配置少量特别的映射关系。
Manager类采用No Dao、No Interface的紧凑模式,继承于强力的HibernateEntityDAO基类,拥有默认的CRUD函数,子类只需用泛型声明自己所管理的Entity Class。
Struts Action采用Pragmatic的新模式:继承DispatchAction 每个Controller 响应一组相关操作,LazyValidatorForm免去FormBean定义,同样采用了强力的StrutsEntityAction基类。
View层采用JSP2.0,并结合Prototype.js,Dojo 简化Javascript与Ajax 应用。
SpringSide也在积极尝试JPA+Struts2的ORM, MVC框架。

同时,作为Java企业应用框架,SpringSide将深度结合了JBPM 工作流引擎、JBossRules规则引擎、Birt报表引擎,Lucene搜索引擎,Acegi安全与权限管理,XFire Web服务与ActiveMQ JMS与ESB项目组成的SOA架构,OSGI-Spring组合的构件式架构,并在Bookstore示例中一一演示。

3. 重要资源
快速开始指南
官方站点
中文论坛
演示站点
源码SVN
4. 开源项目完整列表
1. JDK5.0 -- JDK .
JDK5的annotation、泛型、可变参数与autoboxing,有了之后很难再放弃。
而且annotation的应用越来越多,如果SpringSide仍然固守JDK1.4,会受到越来越多的局限。
如果用户的应用服务器只支持JDK1.4,可使用retrotranslator的兼容方案 --详细文档

2. Spring 2 - J2EE Framework.
暂时缺乏强有力竞争者的Java EE Full-Stack Framework -- 详细文档

3. Hibernate 3/iBatis2/JPA - ORM Framework.
Hibernate 种种不足,但还是最好的 -- 详细文档
iBatis方便旧项目改造或团队力量不强的时候 --详细文档
JPA是未来大势所趋。

4. Struts 1.2/ Struts 2 - MVC Framework.
Struts 1.2的用户数始终是最多的 -- 详细文档
Struts 2来自webwork,应该是传统模式下最好的mvc framework。

5. JSP2.0 - View Template.
因为JSP比Veloctiy, Freemarker有好得多的IDE,如语法超级敏感,支持Jsp重构和debug的IntelliJ IDEA。
而且JSP2.0的EL可以在html中直接书写${book.name},比<c:out>的页面已简洁无数倍,几近于Velocity。
而且还有Extreme Table这样的现成JSP Taglib。--详细文档

6. Jarkata Commons - Commons Utils.
Collections,BeanUtils,Configuration等等都应该归入JDK的Utils。

7. XFire - Web Service.
新一代Web Service框架, 与Spring结合,导出POJO为Service,JSR181驱动,还有简化Binding上都做得不错,是一个充满Pragmatic味道的方案。
Apache的Axis2依然无法在服务端的易用性上和它比拟。 --详细文档

8. Acegi - Security, RBAC ana ACL.
一个依靠Spring迅速走红的安全框架, 在安全方面的框子已经搭的挺全,不过仍然有很多地方需要扩展才能真正使用。

9. Eclipse BIRT 2 - Report Engine.
它的竞争对手应该是收费的Crystal Report。JasperReport + IReport的组合根本没有与它对战的资格。
因为BIRT设计报表时类似Dreamweaver的方式,回想IReport中一个个元素来设定的做法简直是噩梦。

10. JBoss Rules 3 - Business Rule engine.
Drools变身为JBossRules后已经拥有了很好的规则语法,平民级的DSL语言映射法和基于Eclipse规则的编辑器,直追商业的ILog。

11. JBpm - Workflow engine.
在JBpm vs shark vs osworkflow中,我们选择JBpm。

12. ActiveMQ - JMS Message Driven POJO.
ActiveMQ+Jencks是一个withdout Application Server,但效能一样不减的Message Drivern POJO的JMS组合方案。

13. Quartz - Enterprise job scheduler.
定时执行者的主要竞争者是IBM,BEA合作搞的CommonJ,但CommonJ只在两家超贵的应用服务器的最新版上存在 --详细文档

14. Compass - Search engine use Lucene .
与Spring、Hibernate的结合,简单的通过Annotation将Domain对象转为Lucene Searchable,实现索引的更新,可以快速实现基于Lucene的企业应用搜索。

15. Prototype.js - JavaScript and Ajax.
Javascript编程者的小军刀 -- 详细文档
同时选用了它的附庸Scriptaculous-- 详细文档

16. Dojo - widgets
虽然速度奇慢,但是最完整,最受支持的html widgets项目。

17.ExtremeTable - JSP Table Tag Libraries.
主要PK对象是DisplayTag,因为ExtremeTable更易于定制样式和二次开发。 --详细文档

18.JUnit, Selenium Test tools.
Selenium是SpringSide2强力推行的Web应用功能测试,集成测试的工具。 --详细文档

你可能感兴趣的:(spring,Hibernate,jbpm,企业应用,Lucene)