(写在前面,这是一篇凑数文章(✿◡‿◡))

Java自1995年发布以来,凭借着其跨平台、面向对象、泛型编程的特性发展至今可以说无Java不大厂。目前国内所有的大厂或多或少都在使用Java进行后端服务开发。

Java的三大开发框架

Java三大框架是指:Struts、Spring、Hibernate

Struts框架主要用于表示层的显示
Spring框架利用它的IOC和AOP来处理控制业务(主要负责对数据库的操作)
Hibernate框架主要是数据持久化到数据库

一 .Struts

Struts是最早的java开源框架之一,它是MVC设计模式的一个优秀实现。 Struts定义了通用的Controller(控制器),通过配置文件(通常是 Struts -config.xml)隔离Model(模型)和View(视图),以Action的概念以对用户请求进行了封装,使代码更加清晰易读。 Struts还提供了自动将请求的数据填充到对象中以及页面标签等简化编码的工具。 Struts能够开发大型Java Web项目。

二.Spring

Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

三.Hibernate

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

Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。


Java框架架构趋势

在14年以前,行业内用得最多是Struts、Spring和Hibernate ,简称SSH;
在14年以后,逐步开始采用Spring、SpringMVC和MyBatis,简称SSM;
而现在Java开发用得最多的其实是SpringBoot。

SSH

SSH框架是以Struts框架进行MVC分离、控制业务跳转,同时使用Hibernate进行持久化,最后配合Spring的统一管理进行实现的开发框架。相对于传统的J2EE开发框架来讲性能相对较高、资源消耗相对较少。
具体优势如下:

  • 框架进行了代码分层,将Java代码和HTML代码进行分层,大大降低了开发人员的技术难度,不需要同时精通Java后端知识和Web前端知识。
  • 由于使用了Struts框架进行了MVC分离,降低了各层代码间的耦合度。
  • 与Spring的AOP机制相互独立,互不影响。
  • 使用SSH框架开发项目,能够大大提高项目的开发效率与开发质量。
  • 良好的扩展性和维护性。

SSM

SSM框架看着是Spring+SpringMVC+MyBatis三个框架整合而成的,其实SpringMVC属于Spring框架,所以相当于SSM框架就是Spring和Mybatis两个框架的整合运用。
SSM框架的优势:

  • 对于MVC模式的实现,SpringMvc更加的轻量。
  • 由于SpringMvc本身属于Spring,因此与Spring的配合使用契合度更高。
  • Mybatis相对Hibernate更加轻量,同时将Sql和业务代码进行了很好的解耦。
  • MyBatis的学习门槛更低,相对于传统的JDBC差距不大,更好入门及掌握。