DAO层:

1.DAO层--[面向表]: 持久层、数据访问层,主要与数据库进行交互

介绍:

DAO层只是封装增删改查,比较底层,比较基础的操作,具体到对于某个表、某个实体的增删改查。至于增删查改如何去实现一个功能,dao是不管的。

在接口中对方法进行了定义,在UserDao.xml中给出了sql语句实现.

建议:

建议DAO只做原子操作,增删改查。

Entity层:

1.Entity层(domain层):model层、实体层  数据库在项目中的类

介绍:entity实体层,放置一个个实体,及其相应的set、get方法。如果想要对数据库进行一些操作(比如说读取)的话,就要先写entity层。

建议:

Service层

1.Service层(biz)--[面向业务]:业务层、服务层, 控制业务

介绍:

粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不会是一个原子操作了,需要事物控制。service层里面的方法相较于dao层中的方法进行了一层包装,例如通过id查找用户,通过用户名查找用户,是在基础的操作上又增加了一层包装的,实现的是相对高级的操作。最后将这些操作在serviceimpl类中实现.

service层要使用接口来定义好处:

service实现类实现了service接口,进行具体的业务操作

1.在java中接口是多继承的,而类是单继承的.如果你需要一个类实现多个service,你用接口可以实现,用类定义service就没那么灵活

2.要提供不同的数据库的服务时,我们只需要面对接口用不同的类实现即可,而不用重复地定义类.

3.编程规范问题,接口化的编程为的就是将实现封装起来,然调用者只关心接口不关心实现,也就是“高内聚,低耦合”的思想.

建议:

Controller层:

1.Controller层(action层):控制层  控制业务逻辑

介绍:

Controler主要处理外部请求、负责请求转发,接受页面过来的参数,传给Service处理,接到返回值,再传给页面。

建议:

View层:

1.View层

介绍:

View层 此层与控制层结合比较紧密,需要二者结合起来协同工发,View层主要负责前台jsp页面的表示。

建议:

其流程为:Controller层调用Service层的方法,Service层调用Dao层中的方法,其中调用的参数是使用Entity层进行传递的。

标签:web,Java,service,Service,实现,DAO,接口,五层,View

来源: https://www.cnblogs.com/yanghe123/p/10843962.html

java 业务层业务接口层_Java web五层架构相关推荐

  1. controll层跳转页面_java web开发中的各种层

    java后端开发前,还是应该将各种层划分好,知道各自的作用,今天做一下总结. Dao层.Entity层.Service层.Controller层.view层 1.Dao层(持久层.数据访问层) 功能: ...

  2. java移动端开发教程视频_Java Web开发-项目部分(中国移动科技综合管理系统)视频教程 - JavaWeb - Java - 私塾在线 - 只做精品视频课程服务...

    第01节课:进行整体课程概览:参看其他项目,总结需要实现的功能:讲解本次项目练习要实现的功能:基本的业务功能介绍 第02节课:页面布局:框架使用:页面上菜单的使用:项目基本的数据字典:构建包结构和划分 ...

  3. java开发个人博客过程_java web个人博客开发(四详细设计)

    1.序言 详细设计主要内容在这里是接口设计,即html页面请求到,java后台返回数据的接口.预期实用restful风格,所以接口形式是url+请求参数,数据格式为json.由于文章统计阅读量和博主的 ...

  4. java 反正多次重复提交_java web开发时防止刷新后的重复提交

    在java web开发过程中大家经常都会遇到页面刷新后重复提交导致数据库数据重复的情况出现. 那么,如何避免重复提交数据的情况出现呢?如下代码,是在jsp中解决重复提交的一种方式. //此段代码用于防 ...

  5. java 新窗口跳转页面_Java web开发中页面跳转小技巧——跳转后新页面在新窗口打开...

    最近学习Java web,在学习过程中想实现一个需求,就是在jsp页面跳转的时候,希望跳转后的新页面在新窗口中打开, 而不是覆盖原来的页面,这个需求使我困惑了好长时间,后来通过大海捞针似的在网上寻找方 ...

  6. java中ref是啥意思_java – web.xml中的resource-ref是什么用的?

    您可以通过容器中配置的JNDI名称直接引用应用程序中的资源,但是如果这样做,基本上是将特定于容器的名称连接到代码中.这有一些缺点,例如,如果您以后出于某种原因想更改名称,您需要更新所有应用程序中的所有 ...

  7. java开发 图片显示不出来_java web开发中 显示图片的问题

    记录一个java Web开发中显示图片的小问题: 我碰到的问题是:把服务器上存的图片,在客户端的浏览器中显示出来.解决方法如下: 两种显示方式 一是:在servlet 或 action中直接输入图片到 ...

  8. java输出的汉字变成乱码_Java Web项目中解决中文乱码方法总结

    一.了解常识: 1.UTF-8国际编码,GBK中文编码.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立; 2.web tomcat:默认是ISO8859-1,不 ...

  9. java的类和接口区别_Java接口和类的区别

    一.概述 定义 Comparable是在集合内部定义的方法实现的排序的接口,位于java.util下. Comparator是在集合外部实现的排序的接口,位于java.lang下. Comparabl ...

最新文章

  1. .NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(二)
  2. 保洁阿姨看完都会了!java图形界面设计代码
  3. mysql二维转一维_二维数组转为一维数组
  4. MyBatisPlus中通用CRUD的updateById方法
  5. mybatisplus修改单个属性_第二节 官封弼马温——类的属性
  6. React简介及基础用法
  7. linux 内核 第二周 操作系统是如何工作的
  8. 为什么Windows7打开项目的方式是灰的不能修改
  9. 宝塔linux面板mysql数据库误删恢复过程
  10. ipython安装过程_IPython安装过程 @win7 64bit
  11. WebLogic安装教程
  12. android 取消指纹识别,Android 指纹识别
  13. 2014年感悟:一万年太久,只争朝夕
  14. 对List集合属性进行模糊查找
  15. 上计会青少年算法竞赛3月月赛
  16. 谷歌母公司一季度营收363亿美元 计提欧盟罚款后净利润仍超过66亿美元
  17. ProcessOn -在线绘图
  18. java酒店管理系统小型项目
  19. mysql查询出现毫秒值快速解决方法
  20. mysql 双机热备 原理,MySQL双机热备份的配置及原理

热门文章

  1. MySQL安装后第一次修改密码
  2. [译] Lenses:可组合函数式编程的 Getter 和 Setter(第十九部分)
  3. TensorFlow的基本运算01-01
  4. OGG维护优化脚本(一)-需求分析篇
  5. Centos6 安装NTP 4.2.8 服务器
  6. keepalived高可用反向代理的nginx
  7. 原生socket穿透HTTP代理服务器
  8. 我使用的博客和通讯工具汇总
  9. 据lovecherry的一步一步学Remoting序列文章学习.net Remoting日记(2)
  10. hadoop定位文件读取