Struts,Hibernate,Spring三大框架的简单介绍

简单的说下 struts spring hibernate 这3个主流的开源,业界事实上的标准框架吧!
在早期还没有 struts的时候,我们前后台传递数据,都是用的作用域对象(page,request,session,application),包含大量的 getParameter 和 getAttribute,以及数据类型的转换。浪费了很多的时间。而且有很多的开发都未使用mvc的模式,加大了后期的维护以及二次开发的难度。

在这个情况下,struts应运而生,他提供了 三大组件来供我们运用,前后台数据库传递使用actionform来传递,直接封装成对象。操作方便。而且,作为mvc的典型实现,视图和控制层的分离,代码更清晰,维护更方便。

早期做jdbc操作的时候,我相信大家都有这样的体会,自己编写数据库操作类,不断的传递数据库操作语句,不断的executeUpdate和 executeQuery 然后又是循环读取结果集,然后关闭链接。而且数据库是关系型数据库,而java开发的时候,是对象模型的,关系-对象的转换,也让人很头疼。在企业开发中,最头疼的就是更换数据库,如果前期需求分析不到位的话,那就意味着项目就要重新来过的尴尬。

hibernate框架,提供了内置的方法,简单的save merge delete find 方法,就可以实现以前需要很多编码才能实现的功能,而且将值自动封装到javabean中,使用方便。而且我们也不必去关心,什么时候要开启数据库链接,什么时候去关闭数据库链接。而且hibernate也提供了数据库切换的功能,简单的配置即可,非常方便。也不必去编写繁冗的sql语句了。

至于spring,真的可以说是java开发人员的春天。Rod Johson在2002年编著的《Expert one to one J2EE design and development》一书中,对Java EE正统框架臃肿、低效、脱离现实的种种现状提出了质疑,在该书中,作者根据自己多年丰富的实践经验,对EJB的各种笨重臃肿的结构进行了逐一的分析和否定,并分别以简洁实用的方式替换之。【我的java老师当时和我上过:那时候,业界一直大喊:“不用ejb就是j2ee开发。而且ejb的开发繁冗不是一般人能理解的(注:只是引用,我未研究过ejb,所以不敢妄言!)”】

简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。ioc也可以理解为依赖注入。就是讲程序之间的依赖性交给spring来管理,降低了程序之间的耦合度。在程序中,我们只需将某个对象以属性的方式注入到该对象中即可,无须实例话,实例化的事情交由 spring来管理。至于要实现话那个对像,可以在配置文件里配置,当然,这些对象必须共同遵循某个规范(Interface)。aop面向切面编程,spring的声明式事务就是通过aop来实现嘚。在hibernate中如果要对方法加事务,我们需要关心,对谁加,在哪里加,而使用声明式事务以后,我们无须关系这些具体细节。一切交给spring来处理。


这三个框架具有的共同的特性就是:他们都是轻量级的,使用很灵活。
我在这里只是简单的说了点而已,其实有很多东西都值得我们去研究,而不是一两句话就可以概括的。

还要说明的就是:spring不是负责业务层的,而是把系统中散落的“切面”集合在一起,集中管理,从而让我们程序员能有更多的精力去专注业务层的开发,加快软件的开发进度。

你可能感兴趣的:(spring,AOP,框架,Hibernate,struts)