现在的位置: 首页 > 综合 > 正文

struts,spring,hibernate浅谈–我之理解

2013年09月14日 ⁄ 综合 ⁄ 共 1607字 ⁄ 字号 评论关闭

这三个框架在国内国外都特别流行,学习这三个框架半年有余,写心得于此

首先得搞清楚这三个东西是三个框架.它们并不是用来直接解决某些问题的函数库,它们只是把一些现有的知识,技术进行了某种程序上的封装,达到某种效果,也许这种效果是你想要的,也许并不是,所以并不是它们是万油金,它们在很多场合都能用,但不是所有场合都能用.

1.struts

        struts会WEB层进行了封装,对资源进行了集中处理,它最大的特点就是它的配置文件.用struts进行开发其实并不能降低开发难度,相反,还可能加大.但后其的维护,其它人看这个程序时条理会更清查.看struts配置文件就能看清晰的了解到程序的脉络.struts的思想就是MVC,实现今代码与界面的分离.现在的struts包含的东西也比较多了,现不是每样都值得学习,struts的标签之类的东西完全没必要,美其曰是使界面更简洁,但要记住怎么使用这些标签并不是一件简单的事.struts中是实现了一种思想,你要实现这种思想没必要一定要用struts,用servlet+jsp一样可以实现mvc,而且如果项目比较小的话,效率更高.学了struts,只要记住一个东西就是了--MVC,struts的源代码并不复杂,看看源代码能更清楚的了解它的思想.

2.spring

        spring的核心就IOC和AOP,在SPRING的整个源代码包里面,这两个思想总是混合着用的,目的就是解耦,IOC是把这种耦合性用配置文件表示出来,而不是在代码中,AOP的核心就同个词,拦截,处理,代理.spring并不是在程序中每个地方都要用到,如果配置文件多了,看起来更麻烦,个人认为spring主要用在层与层之间,在团队开发中,每部分人专注于自己的那一块,块与块的衔接就用spring,如果层内也用的话,配置文件一大类,不但看不清楚,而且调试也不方便,配置文件出了错也不好找出来.spring体现出来的也是一种思想,一种方法,解决某个问题方法有多种,spring只是其中的一种,可能不是最好,也可能不是最坏,在适当的地方用就行了.用自己的代码实现解耦也是一种不错的方法.我们无须太抬捧网上流行的东西.

3.hibernate 

        hibernate与上面两种框架一样,并不是什么新东西,从某种程序上说,它是对JDBC的封装.那程序员能用面对对象的思想来操作数据库.这个框架比较火,据说EJB3.0里面就有它的东西.hibernte其实就是把数据库里面的表用配置文件封装成类,然后程序员操作这些类就行了,这里是简化的普通程序员的工作,但得有人能精通配置文件的编写,配置文件是个麻烦事,虽然有很多自动工具能帮我们完成许多事,但细节的修改得靠我们自己.网上有不少人说hibernate能提高访问数据库的性能,这里我不完全同意,对于普通的查询来说,由于hibernate有一级缓存,二级缓存,查询不用到数据库里面去,这是快了不少,但如果一个程序中,需要对数据进行更新的地方多,hibernate相对JDBC来说就慢了,它得先从数据库里选出数据,然后更改,最后提交,它执行的sql语句就比JDBC多了,还有很多地方都有这种情况.spring与hibernate结合得比较好,开发交率上的确提高不一些,如果对这两个框架不熟,就麻烦了,出错了错误不容易解决.

小结:对于这三个框架没有必要一定要弄清每个细节,最重要的是它们的思想.如果是全自学习,学这三个框架并不是一件容易的事,初学者往往被搞得一头雾水,分不清自己到底在做什么.而且学的过程中往往产生奋怒:别人跟我同时学,用JDBC和JSP都做过好几个项目了,我还在搞这三个框架,搞又搞不懂.学了之后你看看JDBC,JSP你会理解得更深.这三个框架我觉得其实没必要学习,学了固然好,没学也没啥.用别人认为好而自己不熟的工具还不如用自己认为好的熟的呢.

抱歉!评论已关闭.