Java EE 概述

来源:互联网 发布:网络优化与维护 编辑:程序博客网 时间:2024/05/24 23:13

1.Java EE 应用的分层模型

    不管是经典的Java EE应用架构,还是轻量级Java EE应用架构,大致都分为如下几层:


    Domain Object(领域对象)层。此层由一系列POJO(Plain Old Java Object,普通的、传统的Java对象)组成,这些对象是该系统的Domain Object,往往包含了各自所需实现的业务逻辑方法。


    DAO(Data Access Object,数据访问对象)层。此层由一系列DAO组件组成,这些DAO实现了对数据库的创建、查询、跟新和删除等原子操作。


    Service(业务逻辑)层。此层由一系列业务逻辑对象组成,这些业务逻辑对象实现了系统所需要的业务逻辑方法。这些业务逻辑方法可能仅仅用于暴露Domain Object对象所实现的业务逻辑方法,也可能是依赖DAO组件实现的业务逻辑方法。


    Controller(控制器)层。此层由一系列控制器组成,这些控制器用于拦截用户请求,并调用业务逻辑组件的业务逻辑方法,处理用户请求,并根据处理结果向不同的表现组件转发。


    View(表现)层。此层由一系列的JSP页面、Velocity页面、PDF文档视图组件组成,负责收集用户请求,并显示处理结果。

2.Java EE应用的组件

    总体而言,Java EE应用大致包含了以下几类组件:

    表现层组件。主要负责收集用户输入数据,或者向客户显示系统状态。最常用的表现层技术是JSP,但JSP并不是唯一的表现层技术。表现层还可以由Velocity、FreeMarker和Tapestry等技术完成,或者使用普通的应用程序充当表现层组件,甚至可以是小型的智能设备。


     控制器组件。 对于JavaEE的MVC框架,其提供一个前端核心控制器,核心控制器负责拦截用户请求,并将请求转发给用户实现的控制器组件。这些用户实现的控制器组件则负责调用业务逻辑方法,处理用户请求。


    业务逻辑组件。 这是系统的核心组件,实现系统的业务逻辑。通常,一个业务逻辑方法对应一次用户操作。一个业务逻辑方法应该是一个整体,因此要求对应业务逻辑方法增加事务性。业务逻辑方法仅仅负责实现业务逻辑,不应该进行数据库访问。因为业务逻辑组件中不应该出现原始的Mybatis、Hibernate和JDBC等API。


    DAO组件。这个类型的对象比较缺乏变化,每个DAO组件都提供Domain Object对象基本的创建、查询、更新和删除等操作,这些操作对应于数据库的CRUD等原子操作。当然,如果采用不同的持久层访问技术,DAO组件的实现会完全不同。为了业务逻辑组件的实现与DAO组件的分离,程序应该为每个DAO组件提供接口,业务逻辑组件面向DAO编程,这样才能提供更好的解耦。


    领域对象组件。领域对象(Domain Object)抽象了系统的对象模型。通常而言,这些领域对象的状态都必须保存在数据库里。因此,每个领域对象通常对应一个或多个数据表,领域对象通常需要提供对数据记录的访问方式。

0 0
原创粉丝点击