happinessaflower 2019-10-27
Java后端分层:web程序的分层思想会谈到的内容。在web应用程序中所谓的分层都是按照mvc的思想做分层操作的,根据mvc的分层思想我们可以把后端代码分为:dao---->service---->control---->view
这样分层的作用就是为了让代码各施其职,各尽其用。简单的理解就是代码和代码对于不同的地方有不同的作用,所以根据代码的作用把他们按照mvc的思想分为以上四个层。
各个层之间相互协调工作
各层作用
那么我们从上面的层分别来解释各个层的作用:
dao层:
dao层就是用来做连接数据库操作的代码层,我们编写的程序中数据是需要我们从数据库中查询出来然后在程序中做运算。那么做数据库操作的代码会被分到dao层中,一般情况下dao层中会引用到对应表格的实体类,因为做数据库操作是需要做查询,那么做查询数据的保存方式一般是一张表格就一个实体类,然后实体类基本上作用就是用来在各个层之间做数据传递。
service层:
service层的就是用来做业务处理的。我们数据库的表格之间是有关联关系的,那么我们的程序需要完成一个业务,也不是总是一张表解决问题的,这个时候完成这个业务功能是需要结合多个dao层中数据库操作完成,业务逻辑比较复杂的业务模块是需要做事务的管理的,否则对于数据库来说会产生垃圾数据,以及一些误操作导致的数据的不准确性,和不必要的操作造成的异常。从而违背了数据库完整性要求。
control层:
control层的作用就是用来管理请求和业务处理之间的交互。一般情况就是用户在页面上操作对应的操作需要向服务器方式对应的请求,Control层就会接收对应的请求,根据对应的请求在调用对应的业务处理,在根据不同的业务处理调用对应的数据访问,数据访问把结果得到给到业务逻辑层,业务逻辑层在给到Control层,Control层在把对应的结果反馈给用户。
view层:
view层的作用就是用来和用户做交互操作的。也就是说view层就是我们所说的html前端页面,展示数据给用户,根据数据做对应的操作。
dao层和service层的区别
根据上面讲解的内容可以看到dao层和service层的代码的作用是完全不同的。作用功能不同,dao层只是为了做数据库操作,service层主要是做整体的业务逻辑处理。在service层中是必须得调用dao层中的代码来做相应的业务处理,所以他们两个层是相互协作。
总结:dao层和service层最大的区别就是作用功能的不同,但是他们之间也是相互协作而存在的,谁都不能少谁。