SpringSide 3的进步

在SpringSide的官方主页上,写着SpringSide 3 中包含的主流组件:Spring 2.5 + Hibernate 3 + Struts 2 + JSP 2.0 + JQuery + JAX-WS 2 (by Apache CXF 2) +SpringSecurity 2.0。不过,如果你认 为和SpringSide 2 相比,升级的只是版本号,那么你就大错特错了。

像我这样从SpringSide 2过来的人,如果能够详细对比SpringSide 2 和SpringSide 3,对于我们理解 SpringSide 3肯定更加有帮助。下面的内容是我自己的一些体会,不正确的地方欢迎大家指正。

从主要的架构来,依然是那么几层,先设计数据库,再写Entity层,再写Dao层,再写Action,然后使 用JSP表现出来,其中的Entity和Dao层和Hibernate紧密相关,Action是Struts的主要部分,Spring作为 粘合剂,把这些东西连在一起,并提供了一些机制简化编写这些层的工作。SpringSide就是这样一个大的 粘合体,省去了我们自己很多的粘合工作。从SpringSide 2 到SpringSide 3,这些工作得到进一步的简 化,我们开发起来就更爽了。

我认为,我们的开发模式,主要经历了这样的简化过程:

第一阶段,代码加一大堆的配置文件

第二阶段,代码加少量的配置文件

第三阶段,代码加基本上等于零的配置文件

这些进步是如何实现的呢?从第一阶段到第二阶段,主要靠的是Annotation,把一些大量的配置工作 转移到了Java代码中,那么从第二阶段到第三阶段怎么实现呢?都已经Annotation了,你还有什么办法让 配置文件更少?想不到吧!我也想不到,直到我看了SpringSide 3生成的项目,我才知道还有一个好东西 叫自动扫描。

下面使用实际的例子进行说明。作为示例,Hibernate是个不错的选择。

第一阶段,如果单独使用Hibernate,我们每写一个Entity类,就得同时写一个.hbm.xml文件,如果有 很多Entity,就得写很多.hbm.xml文件,每修改一次Entity,也要同时记得修改.hbm.xml文件,相当的不 方便,其目录结构如下图:

时间: 2024-09-29 20:46:24

SpringSide 3的进步的相关文章

SpringSide复活

江南白衣启动SpringSide 3.0项目已经很长时间了,但是我一直没有关注, 直到他发布了All in One版.对于我这样的懒人来说,All in One版是个不错的 选择.当然,SpringSide 3.0.4 All in One版并不是完美无缺,加上白衣时间 紧,没办法写很详细的文档,所以使用起来还是有一定的障碍.再加上 SpringSide 3.0太依赖于Maven,而很多人不喜欢Maven,包括我,又进一步影响 了它的推广. 在我的这篇文章里,向大家展示了不用Maven,只需要五

SpringSide 3中的安全框架

在SpringSide 3的官方文档中,说安全框架使用的是Spring Security 2.0.乍一看,吓了我一跳,以 为Acegi这么快就被淘汰了呢.上搜索引擎一搜,发现原来Spring Security 2.0就是Acegi 2.0.悬着的 心放下来了.虽然SpringSide 3中关于Acegi的配置文件看起来很不熟悉,但是读了Acegi 2.0的官方文档 后,一切都释然了. 先来谈一谈Acegi的基础知识,Acegi的架构比较复杂,但是我希望我下面的只言片语能够把它说清楚 .大家都知道

SpringSide开发实战(八):不是结局的结局,谈谈程序员的境界

SpringSide是个好东西,对我来说,它的好主要体现在两个方面:一.它提供了一个敏 捷开发的框架,省去了我自己整合Spring.Hibernate.Struts.ActiveMQ等等开源组件的 时间,而且还是最佳实践:二.它指导了我的学习目标,在SpringSide中整合的各种组件, 都是在同一类组件中最优秀的,而且要想熟练使用这些组件,都必须对它们进行深入的系统 的学习. 本来以为我会在SpringSide开发实战系列中写更多的文章,但是写到现在,我认为应该 要写结局了,为什么呢?因为在使

SpringSide开发实战(四):打通数据持久层的任督二脉

在这里,将创建一个简化的用户管理模块,演示怎样利用SpringSide提供的数据持久层 的功能,包括怎样通过Hibernate的Annotation来配置多对一映射和多对多映射. 大家都知道,现在最流行用户管理模型的是RBAC,也就是基于角色的访问控制模型,在 这种模型中,可以划分多个层次,如用户-角色-资源.用户-角色-权限-资源.用户-角色- 角色组-权限-资源.用户-角色-角色组-权限-操作-资源等等,因此,想要创建一个完善而 复杂的用户管理模块,是相当具有难度的.在Web2.0时代,有一

SpringSide开发实战(三):漫谈CSS和页面布局

这篇随笔不是专门针对SpringSide,却只得每个程序员一看. 还记得胡戈调侃<无极>中的王城布局为"圈圈套圈圈"娱乐城,也还记得我刚开始做 Web开发时"表格套表格"的页面布局.在大部分的程序员中,可能还在使用表格进行布局 ,使用表格进行布局的巨大缺点就是当页面进行一点点修改的时候,都有可能完全打乱页面 的外观,而且非常不利于和美工的配合.当然了,很多美工人员也在使用表格进行布局,他 们在图形软件中设计好页面,然后使用切片工具一切就完事,却给我们需要

SpringSide开发实战(二):修改数据库、字符编码和快速部署应用

SpringSide默认的数据库是hsql,但是大部分开发人员熟悉的数据库是MySql,因此在实 际开发过程中,遇到的第一件事往往是修改数据库.在SpringSide中修改数据库很简单,还 是以前一篇中创建的xkland项目为例,首先修改src\main\resources\config文件夹下的 jdbc.properties文件,注释掉1.2行,解注释7.8行,并修改10.11行的用户名和密码, 如下: 1#jdbc.driverClassName=org.hsqldb.jdbcDriver

SpringSide开发实战(一):使用Eclipse让SpringSide跑起来

自2000年Struts框架发布,到2001年底Hibernate的诞生,再到2004年Spring的流行, Java社区的开源软件哲学是:"只做好一件事情,只做最擅长的事情,其他事情留给别人去 做."但是到了2005年,Java开源出现了框架整合的大趋势,整个Java开源社区雨后春笋般 出现了一批又一批的full-stack框架,比较著名的有RIFE,Grails,JBoss Seam,Trails和 Able等等.SpringSide也是这样一个整合框架,常逛BlogJava的人肯

在SpringSide 2.0中使用CXF提供Web Service服务

在前面的随笔中,我讲了我的网站架构,这样的架构决定了我的网站中必须得用到 WebService.比如,在用户注册的时候,用户数据主要是保存在内容服务器中,但是同时也 要将部分数据提交到索引服务器中,这时,就可以让内容服务器访问索引服务器提供的 WebService来提交数据:还可以让内容服务器通过定时任务,访问索引服务器的WebService 来提交统计数据. 我的网站使用SpringSide 2.0开发,在SpringSide 2.0中,默认使用的是XFire来提供 WebService,但是

使用SpringSide 3.1.4.3开发Web项目的全过程(下)

第八步.使用Spring Security保护Web资源.在SpringSide 3项目中,已经 整合进了SpringSecurity,实现了符合RBAC规范的权限管理系统,并把数据保存 到了数据库中.我以前的博文SpringSide 3 中的安全框架中对SpringSecurity 有一个初步的探讨,我认为我写的东西对入门来说是很有帮助的,入门以后再深 入就简单了,在评论中我又补充了几点,其中就提到如果要把资源权限配置内容 放到数据库中,就要从objectDefinitionSource着手.