美文网首页
SSM轻量级Java应用

SSM轻量级Java应用

作者: Dcl_Snow | 来源:发表于2019-08-26 10:40 被阅读0次

    概述

    前文完成了使用Spring Boot创建一个SSM项目(前文链接:https://www.jianshu.com/p/901a258df1b8),下面来记录一下轻量级Java应用的具体内容。

    Java EE应用的分层模型:

    • Domain Object(领域对象)层:由一系列的POJO(Plain Old Java Object,普通的/传统的Java对象)组成,这些对象是该系统的Domain Object,往往包含了各自所需实现的业务逻辑方法。
    • DAO(Data Access Object,数据访问对象)层:由一系列的DAO组件构成,这些DAO实现了对数据库的创建、查询、更新和删除(CRUD)操作。
      (在经典Java EE应用中,DAO层也被称为EAO层,作用基本相似,是完成对实体(Entity)的CRUD操作,因此称为EAO;DAO在MyBatis中也称为Mapper层,通过SQL语句的映射完成CRUD操作)
    • Service(业务逻辑)层:由一系列业务逻辑对象组成,实现了系统所需要的业务逻辑方法。
    • Controller(控制器)层:由一系列控制器组成,这些控制器用于拦截用户请求,并调用业务逻辑组件中的业务逻辑方法,处理用户请求,并根据处理结果向不同的表现层组件转发。
    • View(表现)层:由一系列的JSP页面、Velocity页面、PDF文档试图组件组成,负责收集用户请求,并显示处理结果。

    Java EE架构图:


    架构分层.png

    Java EE应用的组件

    • 表现层组件:表现层的组件只要负责收集用户输入的数据,或者向用户显示系统状态。最常用的是JSP,但是JSP并不是唯一的表现层技术。
    • 控制器组件:对耶Java EE的MVC框架,会提供一个前端核心控制器,负责拦截用户请求,并将请求转发给用户实现的控制器组件,这些组件负责调用业务逻辑方法,处理用户请求。
    • 业务逻辑组件:是系统的核心组件,实现系统的业务逻辑。通常一个业务逻辑方法对应一次用户操作。业务逻辑方法仅负责实现业务逻辑,不应该进行数据库访问,主要是为了保证业务逻辑方法的实现,与具体的持久层访问技术分离。当系统需要在不同的持久层技术之间切换时,系统的业务逻辑组件无需修改。
    • DAO组件:每个DAO组件都提供Domain Object对象基本的创建、查询、更新和删除等操作,对应的是数据库的CRUD操作。
    • 领域对象组件:领域对象(Domain Object)抽象了系统的对象模型。每个领域对象通常对应一个或多个数据表。

    框架优势

    如果只是想单纯的完成一个小型系统的开发根本不需要使用框架,例如只用JSP就可以完成。但是,如果考虑开发的系统后续的维护、扩展等情况,或者是多人协同开发一个大型的应用系统,系统的需求又是不断会变更的情况下,就要求系统有更好的伸缩性来进行适应,使用框架的目的就是让应用的各个组件以松耦合的方式结合在一起,让应用间的耦合停留在接口层次,而不是代码层次。

    相关框架

    Spring框架是现在开发Java应用使用最广泛的框架,抽象了大量Java EE要应用中的常用的代码,可以大幅度的提高开发效率,并能保证整个应用具有良好的设计。该框架中充满了各种设计模式的应用(单例模式、工厂模式、代理模式等等),所以大家都提倡熟读Spring框架源码并深入理解,对Java开发能力的影响深远。
    Spring框架作为Java应用开发的一站式解决方案,被大众所熟悉的Spring MVC,就是Spring提供的一个设计优良的MVC框架,在使用了Spring框架开发的应用中,都可以直接使用Spring MVC,但是Spring同样支持整合其他各类MVC框架,例如:Struts2(虽然已经不再广泛使用)等。
    Spring框架并没有提供完整的数据持久层框架,所以才有了广泛使用的SSM框架,即Spring+Spring MVC+MyBatis的框架组合,但是Spring依然可以很容易的整合使用其他的数据持久层框架,例如:Hibernate、JPA等等。
    基于Spring框架的各种优点和强大的生命力,暂时没有比较好的替代框架,而且轻量级Java应用的概念也是基于Spring框架而衍生出来的,所以值得好好学习、使用和研究。

    相关文章

      网友评论

          本文标题:SSM轻量级Java应用

          本文链接:https://www.haomeiwen.com/subject/dinlectx.html