简单介绍几种Java后台开发经常使用框架组合

01 前言

Java框架一直以来都是面试必备的知识点,而掌握Java框架,无论在成熟的大公司,快速发展的公司,仍是创业阶段的公司,都能对当前正在开发中的系统有总体的认知,从而更好的熟悉和学习技术,这篇文章胖达就打算给你们介绍几款现阶段流行的框架组合,不论是在传统企业开发仍是在互联网开发领域,这几种框架应该都是比较经常使用的。面试

02 三层架构

说到框架首先须要明确的是,在Web开发领域通常会将架构分为三个部分:表示层、持久层、业务层,之因此将总体架构分为三个层面,主要目的是让整个系统更具备条理性,经过分配任务的方式进行系统的解耦,让每一层只关心本身内部的事情,只知道下层的存在,不知道上层的存在。达到局部改变而不影响全局的目的,就好比餐馆中有服务员、厨师、收银员同样,各司其职,让系统有条不紊的运行下去。三层架构以下图所示(图中的数据访问层就是文中的持久层):
在这里插入图片描述sql

下面就简单介绍一下三层架构:数据库

1.表示层设计模式

表示层其实就是用户可以看到的界面显示层,可是它的职责并不只仅是显示界面那么简单,而是须要完成三件事情:安全

从界面中取得数据跟后台服务器交互服务器

跟后台交互后进行数据绑定架构

将绑定的数据呈如今页面中框架

通常来讲,这一层的设计会采用MVC的模式,M称为模型也就是实体类,用于数据的封装和数据的传输;V为视图也就是页面组件,用于数据的展现;C为控制也就是流程事件,用于流程的控制。学习

2.业务层设计

这一层的功能主要是实现一些具体问题的操做,由于它是表示层和持久层之间沟通的桥梁,主要负责数据的传递和处理。

在平常的代码开发中通常对应着逻辑Service层,对于一些复杂的逻辑判断和涉及到数据库的数据验证都须要在这一层作出处理,同时根据传入的值返回用户想获得的值,或者处理相关的操做。

3.持久层

也称为数据访问层,顾名思义,这一层其实就是跟数据库直接打交道的层面,经过链接数据库,根据传入的值对数据库进行增删改查。

03 框架组合

针对上面架构的每个层面,目前Web开发领域内都有一些优秀的框架,例如表示层有Structs二、SpringMVC等,持久层有Hibernate、Mybatis等,还有业务层有Spring框架,可是严格来讲,Spring是一个整合框架,业务层面在每个公司每个项目都会根据本身的需求作不一样的处理。在项目的开发中,有这样几种使用很是普遍的框架组合:

1.SSH框架组合

SSH框架组合主要包括Struts 、Spring、Hibernate三大框架,用Struts做为系统的总体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,同时用Spring来管理Struts和Hibernate,框架具体解释以下:

  • Struts框架

Struts框架是一个基于MVC设计模式的Web应用框架,它本质上至关于一个Servlet,在MVC设计模式中,Struts2做为控制器(Controller)来创建模型与视图的数据交互。

它包含Struts1和Struts2两个版本,二者的相差其实仍是挺大的,Struts2并非对Struts1的更新,而是充分发挥了Struts1和WebWork这两种技术的优点,它抛弃了原来Struts1的缺点,使得Web开发变得更加容易。

  • Spring框架

学习基础的时候你们应该都知道,最传统的Java Web应用程序是采用JSP、Servlet、Javabean来实现的,这种模式实现了最基本的MVC分层,使的程序结构有负责前台展现的 JSP、负责流程逻辑控制的Servlet以及负责数据封装的Javabean,可是这种结构存在问题如JSP页面中须要使用符号嵌入不少的 Java代码,形成页面结构混乱,Servlet和Javabean负责了大量的跳转和运算工做,耦合紧密,程序复用度低等。

Spring框架的出现就解决了这个问题,经过AOP和IOC两大特性的加持,把全部类之间的这种依赖关系彻底经过配置文件的方式替代了,同时将实体bean很好的管理到了容器中,使得耦合性大大下降,复用性大大提升。

  • Hibernate框架

传统的持久层框架都是采用Java JDBC的链接方式进行数据库的访问和操做,须要人为的编写大量的SQL或者代码,同时还须要将得到的数据进行转换或封装后往外传,其实对于大项目而言这是一个很是烦琐的过程。

Hibernate框架是一个半自动化的持久层框架,能够减小大量的SQL、代码编写工做,省掉很大部分的工做量,在这个框架中,当咱们须要相关操做时,不用再关注数据库表也不用再去一行行的查询数据库,只须要经过持久化一个类的方式就能够完成增删改查的功能,由于框架的内部已经实现了不少对数据库的操做方法,咱们只须要调用便可,作的最多的工做都在持久化类上。

2.SSM框架组合

另一个比较流行的框架组合是SSM框架,主要包括SpringMVC、Spring、Mybatis三大框架,用SpringMVC做为总体基础框架,分离MVC层级,Mybatis做为跟数据库交互的持久层框架,负责数据的访问和操做,而Spring依然做为其他两大框架的桥梁,进行数据的传递和事务等逻辑处理,下面Spring再也不赘述,关于SpringMVC、Mybatis详情以下所述:

  • SpringMVC框架

SpringMVC和Struts2都属于表现层的框架,但它是Spring框架的一部分,这让SpringMVC有了先天的优点,它延续了Spring在配置上简单省心的特色,并且由于与Spring无缝对接,这让安全性有了很大的保障。同时SpringMVC解决了一个很大的问题就是如何下降处理业务数据的对象和显示业务数据的视图耦合性,这个问题的解决让开发变得更加的简单。

  • Mybatis框架

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射, 避免了几乎全部的 JDBC 代码和手动设置参数以及获取结果集的繁杂。它可使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java对象映射成数据库中的记录。

Hibernate当然优秀,可是跟Mybatis相比,它的封装太过于死板,对一些复杂的sql,开发人员更喜欢手动的编写一些代码,而不是经过特定的HQL语言去编写,这样会间接的增长工做量,并且Mybatis更好上手,学习成本比Hibernate要低不少,可是有一点不得不认可,Hibernate的开源社区人数要碾压Mybatis的,毕竟国外不少大佬仍是喜欢用Hibernate的,后期能够详细探索探索。

04 总结

不管如何,学好框架都对咱们有很大的帮助,在这篇文章胖达只是简单介绍了一下框架的三层架构以及两个流行的框架组合,后面的文章中我会分别对一些框架进行详细的介绍,若是有机会,也会将框架整合的过程记录下来跟你们分享,但愿你们都能在个人文章中有所收获,也但愿本身可以坚持技术分享,跟你们一块儿成长。

相关文章
相关标签/搜索