开发应用系统框架选择说明

我选择的框架是SSH框架,基于struts2+spring+hibernate的一个集成框架。选择这个框架进行应用系统的开发有两方面的原因:第一,SSH框架是我目前为止最熟悉的一个框架,也是目前较流行的一种Web应用程序开源框架;第二,目前主流的框架技术有:基于MVC模式的Struts框架和基于IoC 模式的Spring框架以及对象/关系映射框架Hibernate。

一、Struts 2 体系结构:

Struts web框架是为Java Web应用程序的免费的开源的解决方案,Web应用程序和传统的网站不同之处在于web应用程序能建立一个动态的响应,许多网站递交的只有静态的页面。一个Web应用程序可以与数据库和商务逻辑引擎进行交互来自定义一个响应。Web应用程序基于Java服务界面有时候混合了数据库代码,界面设计编码和控制流。实际上,我们发现除非这些关系被分离开,否则大型的应用程序将变得很难维护。在软件应用程序中一个分离这些关系的方法就是是哟欧诺个MVC(Model-View-Controller)架构。Model代表了企业数据代码,View表示界面设计编码,Controller表示引导的。Struts框架就是被设计来帮助开发人员利用MVC架构来创建web应用程序。

二、Spring框架

Spring也是一个开源的框架,Spring的产生是为了解决企业应用开发的复杂性而创建的。Spring的主要功能就是能够使用基本的JavaBean代替EJB,而且提供了更多的企业应用功能。Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架,它在任何环境下都可以使用而且不干扰其它框架技术。Spring的主要特性还有它方便继承其它框架。Spring框架是一个轻量级框架,通过IOC容器统一管理各组件之间的依赖关系来降低组件之间耦合的紧密程序。IOC反转控制模式的核心思想就是使建立对象的过程在对象工厂的外部进行,而对象工程通过多态的方式来建立相应的对象,实际上就是返回一个实现某个接口的对象。

三、Hibernate

Hibernate是一个开放源代码的对象关系映射框架,对于JDBC进行了轻量级的对象封装,让Java程序员可以使用对象编程的思想来对数据库进行操作。Hibernate的核心接口有5个:Session、SessionFactory、Transaction、Query和Configuration。Hibernate就是通过这些接口,对持久化对象进行存取,还能进行事务控制。

SSH框架中,Struts作为整个系统整体基础的架构,负责MVC的分离,然后在模型部分,控制业务的条状,然后在利用Hibernate来支持持久层,Spring则对于查找、定位、创建、管理对象以及处理对象之间的依赖关系提供支持,使得Struts和Hibernate能够更好的工作。