java dao domain_java service domain dao 分层思路
从最常规的分层结构来说,系统层次从上到下依次为:
表现层:主要是客户端的展示。
服务层:直接为客户端提供的服务或功能。也是系统所能对外提供的功能。
领域层:系统内的领域活动。
DAO层:数据访问对象,通过领域实体对象来操作数据库。
其中有些指导原则:
1、上层总是依赖其下层,依赖关系不跨层。
2、表现成除外,同一层之间方法不允许相互调用。这是实际开发中一些开发者容易范的错误!如果真是同一层之间存在方法调用,需要注意,这些调用都是一些上层不可见方法,比如一些工具方法等。
3、一切从服务层出发,从系统需要提供的功能进行分析,确定Service接口中的方法。而不是从数据库的表出发,创建DAO,再创Domain,然后Service,这实际上是对系统分层的误解。
4、系统最核心的设计就是将系统中的实体划分为领域模型。在此基础上设计数据的DAO层,并将这些活动暴露给服务层,服务层的实现依赖于领域活动。
5、每个接口的职责范围明确有界。
文件名称:
Action(表现层)
Domain(领域层)
Service(服务层)
Persistence(持久层,也就是DAO层)
Util(存一些常用的工具类)
java dao domain_java service domain dao 分层思路相关推荐
- java mysql多次事务 模拟依据汇率转账,并存储转账信息 分层完成 dao层 service 层 client层 连接池使用C3p0 写入库使用DBUtils...
Jar包使用,及层的划分 c3p0-config.xml <?xml version="1.0" encoding="UTF-8"?> <c3 ...
- java dao 单元测试_Spring Service、Dao进行Junit单元测试
pring对Controller.Service.Dao进行Junit单元测试总结 所有用Junit进行单元测试,都需要下面的配置 @RunWith(SpringJUnit4ClassRunner ...
- Java中 Dao,Service,Controller,Util,Model 是什么意思,为什么划分?
来源:zhihu.com/question/58410621/answer/156868800 适合受众 :2年以下的初级程序员和0基础的门外汉 内容大纲: 1.为什么需要一个好的代码结构 2.什么样 ...
- 在普通Java类里使用spring里注入的service、dao等
版权声明:本文为博主武伟峰原创文章,转载请注明地址http://blog.csdn.net/tianyaleixiaowu. 在spring管理的web项目里,譬如Struts和spring的项目,配 ...
- 【Spring】JavaBean、MVC软件设计模式与Java中Dao、Service、Controll三层体系
文章目录 一.JavaBean 二.Java三层体系 1.Dao层 2.Service层 3.Controller层 三者之间的关系 三.MVC设计模式 1.模型 2.视图 3.控制器 三者之间的关系 ...
- 中service层的作用_浅析Java中dto、dao、service、controller的四层结构
目前我所在的项目组采用的是SpringBoot框架,前端使用BootStrap+jQuery. SpringBoot是BS开发框架之一,不用单独开启tomcat服务器,目前比较流行,一般开发大型项目时 ...
- 代码结构中 Dao,Service,Controller,Util,Model 是什么意思,为什么划分?
欢迎关注方志朋的博客,回复"666"获面试宝典 适合受众:2年以下的初级程序员和0基础的门外汉 内容大纲: 1.为什么需要一个好的代码结构 2.什么样才是一个好的结构 3.每一个分 ...
- 部门微服务:基本dao和service代码编写
package com.learn.domain.company;import javax.persistence.Entity; import javax.persistence.Id; impor ...
- SpringBoot框架中各层(DTO、DAO、Service、Controller)理解
粗略理解 View层→Controller层(响应用户请求)→Service层(接口→接口实现类)→DAO层,即Mapper层(抽象类:xxxMapper.java文件,具体实现在xxxMapper. ...
最新文章
- zookeeper快速入门——部署
- 一文详解单目结构光参数法
- 使用Spring MVC统一异常处理实战
- PKUWC 2018游记
- DOSBOX使用的一些方法和注意点(汇编实验中遇到的)
- 怎样编写一个Photoshop滤镜(1)
- BZOJ 2458 最小三角形(分治)
- SLF4J:Failed to load class org.slf4j.impl.StaticLoggerBinder
- 学习笔记6—pandas中ix,loc,iloc有什么区别?
- Vue之Promise
- linux 定时执行某个任务,多个时间段
- lumen mysql 事务_数据库事务不执行回滚?
- 聚类分析通俗易懂解释
- 什么叫TEM、TE、TM电磁波?有啥区别-史上最明白的解释
- 【读书】兔兔西的已读书单
- [keil5]从AC5到AC6的转变
- 小菜鸟的自我激励与不服输的心
- 关闭删库跑路的后门,打造高可用的MySQL
- linux卸载oracle11,centos7卸载oracle11g
- 使用流量时微信联系不到服务器,iphone6在流量模式下也就是关闭无线用4G模式收不到任何信息通知,QQ微信啥都没有!什么原因...
热门文章
- 标题在图表上_Excel 2010基础应用:图表的创建与编辑
- 2021数据技术嘉年华线上召开,万人观看,迎接国产数据库的耕获菑畬之年
- 14日晚8点直播丨 经典知识库:性能优化那些事
- PostgreSQL中如何实现密码复杂度检查?
- DBASK问答集萃第二期
- 基于权重的节点驱逐 - Oracle RAC 12.2 新特性
- 从一盏路灯,看亿万级联接的智能之路
- 【华为云技术分享】盘点物联网常用开发板
- 细数MQ那些不得不说的8大好处
- 暴雪插件占用服务器,暴雪为部分高负载、高排队的服务器开启免费转服服务 解决负载过高问题...