首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java分层架构概念

1.JAVA中Action层, Service层 ,modle层 和 Dao层功能区分?(下面所描述service层就是biz)       首先这是现在最基本分层方式,结合了SSH架构。...呵呵,这个问题我曾经也有过,记得以前刚学编程时候,都是在service里直接调用dao,service里面就new一个dao类对象,调用,其他有意义事没做,也不明白有这个有什么用,参加工作久了以后就会知道...接下来说你感觉service意义,其实因为你现在做东西分层次不是那么严格,在一个你们做东西业务本身也少,举个最简单例子,你做一个分页功能,数据1000条,你20条在一个页,你可以把这个功能写成工具类封装起来...再有不明白追问,这是经验问题,呵呵,其实以后你就会懂。只是刚开始写代码都是有个请求,我就去数据库取,业务几乎没有。  ...其实你一个项目一个service和一个DAO其实也一样可以操作数据库, 只不过那要是表非常多,出问题了,那找起来多麻烦,而且太乱了   (3)、好处就是你整个项目非常系统化,和数据库表能一致,而且功能模块化

1.7K41
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    优秀 Java 项目代码该如何分层

    这样往往造成后面代码无法复用,层级关系混乱,对后续代码维护非常麻烦。2021Java面试宝典 的确在这些人眼中分层只是一个形式,前辈们代码这么写,其他项目代码这么写,那么我也这么跟着写。...分层效果需要让整个团队都接受 各个层职责边界清晰 2.如何进行分层 2.1阿里规范 在阿里编码规范中约束分层如下: 开放接口层: 可直接封装 Service 方法暴露成 RPC 接口;通过 Web...主要负责“操作数据库某张表,映射到某个java对象”,dao应该只允许自己Service访问,其他Service要访问我数据必须通过对应Service。...当然这种分层其实见仁见智, 团队中所有人分层习惯也不同,所以很难权衡出一个标准准则,总的来说只要满足职责逻辑清晰,后续维护容易,就是好分层。...2021Java面试宝典 最后,如果你团队有更好分层,或者上面所描述有什么错误地方还请留言指正一下。

    1.8K00

    优秀 Java 项目,代码都是如何分层

    这样往往造成后面代码无法复用,层级关系混乱,对后续代码维护非常麻烦。 的确在这些人眼中分层只是一个形式,前辈们代码这么写,其他项目代码这么写,那么我也这么跟着写。...所以一个好应用分层需要具备以下几点: 方便后续代码进行维护扩展; 分层效果需要让整个团队都接受; 各个层职责边界清晰。 2、如何进行分层 2.1、阿里规范 在阿里编码规范中约束分层如下: ?...主要负责“操作数据库某张表,映射到某个java对象”,dao应该只允许自己Service访问,其他Service要访问我数据必须通过对应Service。...当然这种分层其实见仁见智, 团队中所有人分层习惯也不同,所以很难权衡出一个标准准则,总的来说只要满足职责逻辑清晰,后续维护容易,就是好分层。...最后,如果你团队有更好分层,或者上面所描述有什么错误地方还请留言指正一下。 ?

    50650

    优秀 Java 项目代码都是如何分层

    源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction 源码解析 Eureka 和 Hystrix 源码解析 Java 并发源码 来源:http:...//rrd.me/ej56f 1、背景 2、如何进行分层 2.1、阿里规范 2.2、优化分层 3、分层领域模型转换 4、总结 ---- 1、背景 说起应用分层,大部分人都会认为这个不是很简单嘛 就controller...所以一个好应用分层需要具备以下几点: 方便后续代码进行维护扩展; 分层效果需要让整个团队都接受; 各个层职责边界清晰。 2、如何进行分层 2.1、阿里规范 在阿里编码规范中约束分层如下: ?...主要负责“操作数据库某张表,映射到某个java对象”,dao应该只允许自己Service访问,其他Service要访问我数据必须通过对应Service。...当然这种分层其实见仁见智, 团队中所有人分层习惯也不同,所以很难权衡出一个标准准则,总的来说只要满足职责逻辑清晰,后续维护容易,就是好分层

    3.4K50

    Java

    Java Java面向对象核心概念:类、接口、抽象类、对象;【主体】 定义: 指的是一个程序目录,在最早时候,如果要开发一个程序,只需要定义一个Java文件,而后在这个文件中编写所需要类文件...导入: 使用定义,可以将一个完整程序拆分为不同文件进行分别的保存,如此会导致一个开发问题——不同直接可能存在相互访问,由此就需要使用 导入 来操作...实际中,Java编译器考虑多个java文件相互引用情况产生,为此Java提供了通配符*操作,【javac –d . *.java】来解决该问题,即可通过一个命令,同时编译所有的Java文件,不用担心编译顺序等问题...但是在进行包导入时候也发现了一个局限问题,如果需要导入一个多个类,非常麻烦;Java提供了通配符功能即【import .*】 实现一次性导入中所有可访问类。...开发中,可能会遇到同一个类中导入不同,不同中可能有同名类;在这种情况下,程序会报错“类引用不明确”,所以在遇到这个问题时候,需要在使用类时候加上类完整名称( .

    1.1K20

    Java分层领域模型使用解读

    注意超过 2 个参数查询封装,禁止使用 Map 类来传输。 那么我们需要思考以下几个问题: 为什么需要这些分层领域模型? 实际开发中每种分层领域模型都会用到吗?...本小节我们将重点分析和解答这些问题。 2. 分层模型 2.1 常见分层模型有哪些?含义是什么? 学习和工作经常会接触到分层领域模型,如 DO、BO、DTO、VO 等。...有些朋友可能会认为这么多模型没有必要,因为通常各层模型属性基本相同,而且各种类型分层模型对象转换非常麻烦。 使用不同分层领域模型能够让程序更加健壮、更容易拓展,可以降低系统各层耦合度。...如果我们不愿意定义 Param 对象,使用 Map 来接收前端参数,获取时如果采用 JSON 反序列化,则可能出现上一节所讲到反序列化类型丢失问题。...参考资料 阿里巴巴与 Java 社区开发者.《 Java 开发手册 1.5.0:华山版》 阿里巴巴开发手册领取指南,后台回复:阿里巴巴开发手册 也可在个人网盘自行下载:https://disk.javaxiaobear.cn

    56120

    详解Java业务领域分层模型中vopodtopojobo

    分层目的,就是保证复用和相对稳定性! 开局一张图,后文全靠编 ? VO值对象(Value Object) new关键字创建,由GC回收。...可以看成是与数据库中表相映射java对象。 最简单PO就是对应数据库中某个表中一条记录,多个记录可以用PO集合。 PO中应该不包含任何对数据库操作。...POJO(plain ordinary java object) 简单无规则java对象 纯传统意义java对象。...就是说在一些Object/Relation Mapping工具中,能够做到维护数据库表记录persisent object完全是一个符合Java Bean规范Java对象,没有增加别的属性和方法。...配合VO, 提供数据库CRUD操作… POJO(Plain Ordinary Java Object 简单Java对象) 中间对象。 一个POJO持久化后就是PO。

    2.8K10

    Java 理论概念·Java 服务端分层模型

    Java 服务端分层模型 复杂软件系统都会采用分层架构设计,分层之后,每一层职责鲜明,整体上降低了系统耦合性,提高了健壮性。...Java 服务端开发亦是如此,采用分层架构,针对每一层,对应对象职责是不同,以及层与层之间也需要通信,故而有着不同“概念”对象。...分层领域模型 分层领域模型规约: DO(Data Object):与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。...**POJO(Plain Ordinary Java Object)**简单无规则 java 对象,纯传统意义 java 对象。...就是说在一些 Object/Relation Mapping 工具中,能够做到维护数据库表记录 persisent object 完全是一个符合 Java Bean 规范Java 对象,没有增加别的属性和方法

    77220

    Java 使用

    Java Java面向对象核心概念:类、接口、抽象类、对象;【主体】 定义: 指的是一个程序目录,在最早时候,如果要开发一个程序,只需要定义一个Java文件,而后在这个文件中编写所需要类文件...导入: 使用定义,可以将一个完整程序拆分为不同文件进行分别的保存,如此会导致一个开发问题——不同直接可能存在相互访问,由此就需要使用 导入 来操作...实际中,Java编译器考虑多个java文件相互引用情况产生,为此Java提供了通配符*操作,【javac –d . *.java】来解决该问题,即可通过一个命令,同时编译所有的Java文件,不用担心编译顺序等问题...但是在进行包导入时候也发现了一个局限问题,如果需要导入一个多个类,非常麻烦;Java提供了通配符功能即【import .*】 实现一次性导入中所有可访问类。...开发中,可能会遇到同一个类中导入不同,不同中可能有同名类;在这种情况下,程序会报错“类引用不明确”,所以在遇到这个问题时候,需要在使用类时候加上类完整名称( .

    99120

    代码分层

    看了一下seataexample springcloud-eureka-feign-mybatis-seata,看到一个自己项目中使用代码分层不合理地方,所以总结一下应用分层一些感想。...我们问题在于Mapper层和DAO层代码一模一样,只是为了使用@Mapper这个注解吗?不管是叫 XXXDAO 还是 XXXMapper,都暗示了它们与数据库关系。...,分享一下代码分层一些注意事项: 拆分阶段 第一,校验、转换传入数据;第二,根据传入或转换后数据,完成业务处理;第三,准备要返回数据并返回。...输入和输出 输入参数和输出参数隔离,一般稍大系统都是分层设计,最底层是数据存储层,数据库,最上层是对外提供接口调用应用层,那每一层都有关联数据对象,所以需要做相应区分。...不要为了用而用DDD,不管代码分层是不是按DDD,最重要是领域模型方式编程。 代码分层,适合自己最佳实践才是最好,但是要多学习借鉴。

    45910

    在阿里Java大牛们都是这样对Java项目代码分层

    作者:咖啡拿铁 代码分层,对于任何一个Java开发来说应该都不陌生。一个好层次划分不仅可以能使代码结构更加清楚,还可以使项目分工更加明确,可读性大大提升,更加有利于后期维护和升级。...从另外一个角度来看,好代码分层架构,应该是可以很好匹配上单一职责原则。这样就可以降低层与层之间依赖,还能最大程度复用各层逻辑。本文就来介绍下Java 项目的代码到底应该如何分层。...分层效果需要让整个团队都接受 各个层职责边界清晰 2.如何进行分层 2.1阿里规范 在阿里编码规范中约束分层如下: 开放接口层:可直接封装 Service 方法暴露成 RPC 接口;通过 Web...主要负责“操作数据库某张表,映射到某个java对象”,dao应该只允许自己Service访问,其他Service要访问我数据必须通过对应Service。...当然这种分层其实见仁见智, 团队中所有人分层习惯也不同,所以很难权衡出一个标准准则,总的来说只要满足职责逻辑清晰,后续维护容易,就是好分层

    2.5K20

    问题

    定义1:平面上点集,如果以该集合中任意两点P和Q为端点构成线段属于该集合,就称该集合是凸。 定义2:一个点集S是包含S最小凸集合。...定理:任意包含n > 2个点集合S是以S中某些点为顶点凸多边形。(如果所有点是共线,多边形退化为线段) 因此,直观看来,任意凸多边形都是凸集合。...凸问题是为一个包含n个点集合构造一个凸。 根据上面的定理设计了一个基于线性规划算法来判断能否构造凸。...算法描述如下: 两点确定一条直线(线段),因此,在n个点集合中点i和j可以确定一条直线,当且仅当其余n-2个点位于该直线上或者是该直线同一侧时,点i和j连线才是凸一部分边界。...)构成线段是凸边界。

    57220

    Java

    Java概念Java(Package)是一种用来管理类和接口机制。它可以将相关类和接口放在同一个命名空间下,以避免类名和接口名冲突,并提供更好可重用性和可维护性。...Java作用Java作用在于:把功能相似或相关类或接口组织在同一个中,方便类查找和使用。采用树形目录存储方式,使得之间产生了关系,方便维护、管理。...Java定义在Java中,我们可以通过在Java源文件第一行使用 package 语句来定义一个。...在Java源文件第一行使用 import 语句可以导入其他类。...Java命名规范Java命名规范通常是按照公司或者组织域名来定义,例如:com.example.myPackage。这种做法可以有效地避免不同公司或组织之间名冲突。

    16021

    Netty解决TCP粘问题

    什么是TCP粘/拆   首先要明确, 粘问题”, 是指应用层数据.在TCP协议头中, 没有如同UDP一样 “报文长度” 字段,但是有一个序号字段.   ...站在应用层角度, 看到只是一串连续字节数据.那么应用程序看到了这一连串字节数据, 就不知道从哪个部分开始到哪个部分是一个完整应用层数据.此时数据之间就没有了边界, 就产生了粘问题,那么如何避免粘问题呢...,现在我们通过Netty案例来实现下不考虑TCP粘和拆问题而造成影响。...而客户端设计应该受到100条响应,实际服务器发送了两次响应,客户端只受到了一条响应,说明服务器返回给客户端应答信息也发生了粘问题。...组合就是按行切换文本解码器,它被设计用来支持TCP和拆问题

    1.1K30

    Javajar和war异同

    最近思考了一下jar和war异同,发现一篇文章写非常不错,翻译在此。 一、概述 本文主要讨论Java中war和jar不同。 首先,我们先看不同结构,然后对比他们不同。...二、JAR jar文件拓展名为: .jar ,包含库,资源和元数据文件。 本质上,jar是一个包含多个 .class 文件,Java和应用资源文件压缩。... META-INF目录MANIFEST.MF 文件包含了web很多有用信息,这个是私有的,外部是无法访问。...我们也可以像jar一样通过命令行或maven构建工具来打war。 4. 关键不同 那么他们之间关键不同点有哪些? 第一个最明显不同是文件拓展名。...英文原文:https://www.baeldung.com/java-jar-war-packaging 如果觉得本文对你有帮助,欢迎点赞评论,欢迎关注我,我将努力创作更多更好文章。

    1.2K20

    Javajar和war异同

    大家好,又见面了,我是你们朋友全栈君。 最近思考了一下jar和war异同,发现一篇文章写非常不错,翻译在此。 一、概述 本文主要讨论Java中war和jar不同。...首先,我们先看不同结构,然后对比他们不同。 二、JAR jar文件拓展名为: .jar ,包含库,资源和元数据文件。...本质上,jar是一个包含多个 .class 文件,Java和应用资源文件压缩。...META-INF目录MANIFEST.MF 文件包含了web很多有用信息,这个是私有的,外部是无法访问。...我们也可以像jar一样通过命令行或maven构建工具来打war。 4. 关键不同 那么他们之间关键不同点有哪些? 第一个最明显不同是文件拓展名。

    84210
    领券