【J2EE】:Java EE应用的组件
来源:互联网 发布:ubuntu linux系统下载 编辑:程序博客网 时间:2024/05/17 08:03
上篇博客中,我们在文章的结尾提到了组件,这篇博客就接着讨论一下JavaEE应用的组件有哪些,以及这些组件主要用了什么技术。
首先,我们得先了解一下这里所说的组件是什么鬼?
百度百科给出的解释是:组件(Component)是对数据和方法的简单封装。组件可以有自己的属性和方法。属性是组件数据的简单访问者。方法则是组件的一些简单而可见的功能。使用组件可以实现拖放式编程、快速的属性处理以及真正的面向对象的设计。
从上面的描述来看,实际上就是面向对象的思想,或者就是在描述一个类,因为对象或者类就是由属性和方法构成的。而我们的JavaEE应用程序就是由组件构成的,JavaEE组件是具有独立功能的单元,它们通过相关的类和文件进行组装,成为应用程序,并且与其他组件交互。例如:控制器组件、EAO组件,表现层组件等等。下面我们就根据JavaEE的分层模型来说说各层组件的详细情况。
表现层组件:
主要负责收集用户输入数据,或者向客户显示系统状态。最常用的表现层技术是JSP,但JSP并不是唯一的表现层技术。表现层还可以由Velocity、FreeMaker和Tapestry等技术完成,或者使用普通的应用程序充当表现层组件,甚至可以是小型智能设备,比如我们手机、IPad等等。
控制器组件:
对于JavaEE的MVC框架而言,框架提供了一个前端核心控制器,而核心控制器负责拦截用户请求,并将请求转发给用户实现的控制器组件。而这些用户实现的控制器则负责处理调用业务逻辑方法,处理用户请求。
业务逻辑组件:
这些组件是系统的核心组件,实现系统的业务逻辑。通常,一个业务逻辑方法对应一次用户操作。一个业务逻辑方法应该是一个整体的,因此我们要求对业务逻辑方法增加事务性。业务逻辑方法仅仅负责实现业务逻辑,不应该进行数据库访问。因此,业务逻辑组件中不应该出现原始的Hibernate。JDBC等API。
为什么要将业务逻辑实现与持久层的技术分离呢?一个很重要的原因是:当系统需要在不同的持久层技术之间切换时,系统的业务逻辑组件无须做任何改变。
DAO组件:
Data Access Object,也被称为数据访问对象。这个类型的对象比较缺乏变化,每个DAO组件都提供Domain Object对象基本的创建、查询、更新和删除等操作,这些操作对应于数据表的CRUD等原子操作。当然,如果采用不同的持久层访问技术,DAO组件的实现会完全不同。为了业务逻辑组件的实现与DAO组件的实现分离,我们为每个DAO组件都提供接口,业务逻辑组件面向DAO接口编程,从而提供更好的解耦。
领域对象组件:
领域对象(Domain Object)抽象了系统的对象模型。通常而言,这些领域对象的状态都必须保存在数据库里面。因此,每个领域对象通常对应一个或多个数据表,领域对象通常需要提供对数据记录的访问方式。
小结一下;
其实很多人都会有这样的疑问:我可以使用JSP完成整个系统,为何还有这么费劲的将系统分这么层?每层使用不同的技术框架?有必要么?
- 【J2EE】:Java EE应用的组件
- Java EE应用的组件
- Java EE应用的组件
- Java EE应用的组件
- 【J2EE】:Java EE应用的分层模型
- java ee 与 j2ee 的区别
- Java EE,j2ee 等技术的认识
- Java EE/J2EE基本概念
- Servlet——Java EE应用中另一种常用的组件
- Java EE 组件机制
- Java EE启示录(j2ee详解)
- 轻量级Java EE企业应用实战-----7、映射组件属性
- Linux下的J2EE(JAVA EE)环境配置指南
- Ubuntu Linux下的J2EE(JAVA EE)环境配置
- Java EE应用的分层模型
- J2EE、Java SE、Java EE、Java ME
- Java EE应用分层
- Java EE应用综述
- linux内核,驱动,应用程三者的概念和之间的关系
- 项目的完整重命名方法图文教程
- mysql将一个表字段内容赋值给另一个表字段
- TODO list
- Android Studio 找不到org.apache.http 相关包,编译不通过
- 【J2EE】:Java EE应用的组件
- Unsupported major.minor version 52.0
- 一个小问题引发的"Listview里有多个Edittext,点击一个全部都高亮"
- 概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM
- 1071. Speech Patterns (25)
- HEXO+Github,搭建属于自己的博客(下)
- cocoaPods 安装与使用
- Win10 Ubuntu14.04 双系统安装
- iOS7光标问题