框架选择:SSH框架
开发内容:网页端信息系统
开发环境:
系统:Windows 10
开发工具:MyEclipse 10 + JDK 1.8 + Microsoft SQL Server 2008
SSH框架介绍:
SSH 为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。
集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。
框架选择原因:
Struts、Spring和Hibernate是我们这学期新学到的网页端的技术,它们各有各的特点:
Struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。
Spring是一个开源的项目,而且目前非常活跃;它基于IoC(Inversion of Control,反向控制)和AOP的构架多层j2ee系统的框架,但它不强迫你必须在每一层 中必须使用Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某一个模块;它实现了很优雅的MVC,对不同的数据访问技术提供了统一的 接口,采用IoC使得可以很容易的实现bean的装配,提供了简洁的AOP并据此实现Transcation Managment等等。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
在搜索资料的时候在知乎上看到一个网友的小故事,讲的是他去一家互联网公司面试时谈到她的项目经验,介绍了它在上家公司做的一个项目,项目是基于SOA面向服务框架的分布式大型系统,然后说了Struts、SpringMVC、EJB、SOAP等技术。介绍完顿时就被面试官给鄙视了,说这些技术都这么落后了,早几年就没人在用了,你们公司还在用这些东西做开发啊。这让这位面试的网友顿时无语。下面一个网友回复对这个框架进行了简单的分析,“Hibernate太重,他想作的事太多了,我个人觉得,像hibernate事务,完全鸡肋,而缓存,大部分时候也用不上,需要用到的场景,完全可以自已开发,更轻,而数据关系变得复杂后,hibernate越难驾驭,分布式事务的时候,我没搞过,不知hibernate好不好处理,还是mybatis更灵活,必要时,直接写SQL。按业务类型,混合着用。”这个小故事说来的原由,不是要坚决的抛弃SSH这三大框架,而是有感这项技术现在的际遇。一个技术的学习,也许很快就淘汰了,而要去学习一个更新或更好的技术,所以技术是变的,学习是不变的。然而对于我们现阶段来说,SSH框架是一个比较好的应用技术,它能加深我们对封装的理解,还有对数据库的应用水平有很大的提高。