您的位置:首页 > 其它

J2EE项目中为什么选择SSH框架

2014-01-10 13:31 429 查看
首先,SSH框架的明显优势在于:

1. 典型J2EE三层架构体现MVC思想,便于敏捷开发出新的需求,降低开发时间成本;

2. 良好的可扩展性,SSH有强大的用户群体支持,针对特殊功能需求可循求更多更广的技术帮助;

3. 良好的可维护性,需求变动频繁,三层架构因为逻辑层和展现层的合理分离,可使需求修改的风险降低到最低可以轻松的进行二次开发;

4. 优秀的解耦性,ssh三层构架,控制层依赖于业务逻辑层,但绝不与任何具体的业务逻辑组件耦合,只与接口耦合;同样,业务逻辑层依赖于DAO层,也不会与任何具体的DAO组件耦合,而是面向接口编程。采用这种方式的软件实现,即使软件的部分发生改变,其他部分也不会改变

其次,就单个技术而言,Struts,Spring,Hibernate适合于本项目。

论struts与jsf,二者在功能上并没有本质差别,同时也无法判断谁优谁劣。某种程度上jsf的功能会相对较多。例如jsf的taglib标签库。但出于本次项目,丰富的便签库并不能让jsf就更突出,反而会是一种浪费。同时在整合spring+Hibernate上,struts会相对简单,例如在整合spring时,jsf+spring需额外要加入jsf-spring.jar包,并且在web.xml配置文件总加入Listener;

论Hibernate与JDBC,Hibernate则以面向对象方式操作数据库,解决jdbc中需要编写大量的Sql语句,在对数据库的CRUD上,Hibernate更为简单和便捷,同时还拥有一级,二级,查询缓存功能,在关闭资源时更为便捷。并且,Hibernate的代码量远少于JDBC,使得项目更显健壮;

论spring的Ioc及AOP思想

Spring的ioc使得Action仅仅是充当了Service的控制工具,而这些业务的具体实现便交给了业务实现类所提供的方法接口,层与层之间实现了完全脱耦,使程序运行起来效率更高,维护起来也方便。在AOP思想上,Spring容器封装了所有对事务处理的功能,包括异常时事务回滚,操作成功时数据提交等复杂业务功能,避免了每次对数据操作都要先获得Session实例来启动事务/提交/回滚事务还有繁琐的Try/Catch操作。

 

最后在使用SSH框架的时候,可将SSH三层结构中的中间层细分为Web层,service层,DAO层,PO层。其中,web层,负责控制业务逻辑层与表现层的交互,即Controler;Service层通过对DAO层的调用,完成系统所要求的业务逻辑;DAO层,负责与持久化对象交互。该层封装了数据的CRUD的操作;PO,持久化对象。将关系型数据库的数据映射成对象,实现以面向对象方式操作数据库,该层采用Hibernate作为ORM框架。Spring的作用贯穿整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息