学习笔记:Spring、Struts和Hibernate三大框架的特色

前言

Spring、Struts、Hibernate基本上算是从事JavaWeb后台开发人员必学的三个基本框架,是web应用中的三剑客,使用这三个框架构成了我们常说的MVC编程模式,能够满足一般企业开发的业务需求。

Java基础是关键

要开始学习Spring、Struts和Hibernate这三个框架,需要做充足的Java基础知识学习,知道这些知识才能知道为什么需要使用这三个框架。下面列出学习三大框架之前的基础知识:

(1)Java面向对象开发基础。这部分内容包括类、对象、方法、属性四大概念,以及封装、继承、多态三大特征的使用。要清晰面向对象的开发过程:类的定义、对象的创建、方法的调用。

(2)Java操作数据库。这部分内容包括Java如何与数据库进行沟通,如何通过java完成数据库的增删改查等基本操作。这部分内容还包括如何使用预处理模式提高效率,如何使用CallableStatement完成存储过程调用,以及如何使用数据库连接池来优化数据库操作。当然还要清楚使用DAO模式来规范化代码结构,而这也为使用Hibernate打下了一定的基础。

(3)Java web开发基础。这部分内容包括Servlet、JavaBean、JSP的开发、调试、部署,清楚web开发的范围定义以及web容器的配置管理。要清楚web MVC结构,能使用Model2结构进行web程序开发,而这为使用Struts和Spring打下了基础。

Spring、Struts和Hibernate三大框架的概述与特点

Spring是什么?

15316292-50e6faa6920e6180.png

Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。

特点

(1)J2EE应该更加容易使用。

(2)面向对象的设计比任何实现技术(比如J2EE)都重要。

(3)面向接口编程,而不是针对类编程。Spring将使用接口的复杂度降低到零。(面向接口编程有哪些复杂度?)

(4)代码应该易于测试。Spring框架会帮助你,使代码的测试更加简单。

(5)JavaBean提供了应用程序配置的最好方法。

(6)在Java中,已检查异常(Checked exception)被过度使用。框架不应该迫使你捕获不能恢复的异常。

Struts是什么?

15316292-6c2d484dd1ae9e3e.png

struts是开源框架。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。

特点

(1)Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,使开发者能更深入的了解其内部实现机制。

(2)Struts:Taglib和页面导航

(3)Taglib是Struts的标记库,灵活运用,能大大提高开发效率。

(4)页面导航:系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。

(5)MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。

(6)Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。

Hibernate是什么?

15316292-bcf20eeeca8b1635.png

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JaveEE架构中取代CMP,完成数据持久化的重任。

(1)将对数据库的操作转换为对Java对象的操作,从而简化开发。通过修改一个"持久化"对象的属性从而修改数据库表中对应的记录数据。

(2)提供线程和进程两个级别的缓存提升应用程序性能。

(3)有丰富的映射方式将Java对象之间的关系转换为数据库表之间的关系。

(4)屏蔽不同数据库实现之间的差异。在Hibernate中只需要通过"方言"的形式指定当前使用的数据库,就可以根据底层数据库的实际情况生成适合的SQL语句。

(5)非侵入式:Hibernate不要求持久化类实现任何接口或继承任何类,POJO即可。

总结

学习Spring、Struts和Hibernate是很多初学者都会经历的阶段,要掌握这三个框架首先要清楚这三个框架都分别解决了哪些问题,同时要知道这三大常见框架的使用场景和框架的内部实现细节。

1.Spring 属于主流开发技术,适合新人快速融入,同时它自身的设计概念也非常优秀。

2.Struts 不推荐学习,除非项目需要可到时候查询资料,新人不推荐学习它。

3.Hibernate 属于 ORM,推荐新手学习,但不推荐着重学习。

最好先学hibernate,因为这样你可以通过spring和struts的学习不断整合框架的同时,更好的掌握操作数据库,大多数程序员对于数据库的的知识都比较欠缺,Java基础是关键啊

关注我:需要资料请进群获取:909723834,获取Dubbo、Redis、设计模式、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术视频教程资料,架构思维导图,和BATJ面试题及答案。

合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

附:思维导图(学习路线)


15316292-a1e7fb289b8bf507.png

猜你喜欢

转载自blog.csdn.net/weixin_34206899/article/details/87077296