java后台分层

原创 2017年08月26日 08:50:26

一般可分为3层,如果业务复杂也可以进一步细分。

1.Web层

Web主要负责接收前端的Http请求,对数据做初步校验,然后将数据封装,传给业务层,将数据封装是为了统一对下层的接口,后续改动时只需在本层改就行了。

2.业务层

Service,业务层,顾名思义,负责处理后台具体的业务逻辑,向上接收Web层传递下来的对象,向下获取持久层提供的数据接口。
一般XxxService都是接口,XxxServiceImpl是Service的实现类。

3.持久化层

持久化层主要负责数据的持久化,大部分是对数据库或者文件的读写操作。对上,给业务层提供数据,对下,连接具体的数据存储,如数据库等。

4.名词

4.1 DAO (Data Access Object, 数据访问对象)

DAO是面向对象软件中,对访问RDBMS或文件系统的一个封装的模式。用数据库访问技术(JDBC,ODBC,Hibernate,iBatis等)和数据库实体进行交互,实现数据存取操作。通常将数据访问这部分的逻辑与业务逻辑分离,保证业务代码不随持久化方式的变化而变化,持久层模型的一种。

4.3 ORM Object-Relation Mapping

对象关系映射,将对象,对象的属性以及对象之间的关系保存在关系型数据库的表中,通过建立对象和表的映射,由系统自动生成,插入,更新,删除和查询的SQL语句,包括Hibernate,iBatis等。

4.4 Domain 领域对象

domain, bean, pojo, entity保存数据的实体,这些类通常与数据库中的表对应,如public classPerson实体对应数据库的Person表等。只有private属性和public setXxx和getXxx.具体的实例就是对应表中的一行。

4.5 POJO

POJO 一般认为是简单的java对象,Plain Old Java Object,就是只有private成员变量和get,set方法。如PO(Persistent Object,持久对象),BO(Business Object,业务对象,封装对象,复杂对象,里面可能包含多个类),DTO(Data Transfor Object,数据传输对象,前端调用时传输,主要用于远程调用等需要大量传输对象的地方), VO(Value Object 值对象 View Object,前端界面展示,用一个VO对象对应整个界面的值).

Java入门代码--Java分层模式

启动了Eclipse之后,下面建立一个新的Java项目:MyJavaProject。          之后输入的项目名称:MyJavaProject。          当Java项目建立完成之...
  • opera95
  • opera95
  • 2017年05月21日 08:08
  • 1586

java后台分层

一般可分为3层,如果业务复杂也可以进一步细分。1.Web层Web主要负责接收前端的Http请求,对数据做初步校验,然后将数据封装,传给业务层,将数据封装是为了统一对下层的接口,后续改动时只需在本层改就...
  • power0405hf
  • power0405hf
  • 2017年08月26日 08:50
  • 393

互联网分层架构,为啥要前后端分离

  • 2017年10月26日 08:50
  • 359KB
  • 下载

代码分层(模块化)

浅谈代码分层:构建模块化程序 -- http://blog.csdn.net/hrdzkj/article/details/8866775 模块化Java简介 -- http://www.infoq....
  • ShareUs
  • ShareUs
  • 2016年08月14日 11:23
  • 1193

OSI和TCP/IP分层介绍

OSI和TCP/IP是很基础但又非常重要的网络基础知识,理解得透彻对运维工程师来说非常有帮助。 我们来总结一下,以下部分摘自网络,未指明出处还请见谅。 一、OSI 和 TCP/IP 概念 ...
  • clirus
  • clirus
  • 2015年10月20日 10:51
  • 2710

标准Web系统的架构分层

标准Web系统的架构分层 标准Web系统架构适用于传统的基于WEB浏览器/手机端的CRM系统、ERP系统、SaaS系统、O2O系统、商城系统、物流系统。架构的灵活性和业务适应性决定了不同的系统根据业...
  • yinwenjie
  • yinwenjie
  • 2015年06月22日 10:30
  • 67058

各位开发过的业务系统都是怎么分层的

说到分层,做java都会想到MVC,这算是整体开发的一种模式,那么不知道各位后台业务处理时是怎么分层的呢?   说说MVC,MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和...
  • cuisuqiang
  • cuisuqiang
  • 2014年11月13日 16:08
  • 482

自动化分层测试基础

什么是自动化测?    首先理清自动化测试的概念,广义上来讲,自动化包括一切通过工具(程序)的方式来代替或辅助手工测试的行为都可以看做自动化,包括性能测试工具(loadrunner、jmeter),...
  • happystarcat
  • happystarcat
  • 2017年04月17日 11:25
  • 792

有赞分层自动化测试实践

1. 背景 先理一下自动化测试的概念,从广义上来说,一切通过工具(程序)的方式来代替或者辅助手工测试的行为都可以成为自动化。从狭义上来说,通过编写脚本的方式,模拟手工测试的过程,从而替代人工对系统的功...
  • walter_chan
  • walter_chan
  • 2016年06月14日 10:10
  • 3133

分层服务提供者(LSP)

分层服务提供者(LSP) -分层服务提供者(LSP) 开发过滤数据包的LSP程序可以定义过滤规则,恩,先看看 LSP本身是DLL,可以将它安装至Winsock目录,创建套...
  • linuxheik
  • linuxheik
  • 2013年03月15日 14:17
  • 903
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java后台分层
举报原因:
原因补充:

(最多只允许输入30个字)