Java中dao层、service层、controller层、entity层和view层的概述

目录

DAO层:(持久层)主要与数据库进行交互

Service层:(业务层 )控制业务

Controler层:(控制层 )控制业务逻辑

Entity层: (实体层 )数据库在项目中的类

View层: (视图层)负责前台jsp页面的表示

总结


DAO层:(持久层)主要与数据库进行交互

DAO层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,主要是做数据持久层的工作,主要与数据库进行交互。具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封装了增删改查基本操作,建议DAO只做原子操作,增删改查。

注:DAO 层的数据源和数据库连接的参数都是在配置文件中进行配置的。

 

Service层:(业务层 )控制业务

Service层叫服务层,被称为服务,主要负责业务模块的逻辑应用设计。粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不会是一个原子操作了,需要事物控制。和DAO层一样都是先设计放接口的类,再创建实现的类,然后在配置文件中进行配置其实现的关联。接下来就可以在service层调用接口进行业务逻辑应用的处理。

注:封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性。

 

Controler层:(控制层 )控制业务逻辑

Controller层负责具体的业务模块流程的控制,其实就是与前台互交,把前台传进来的参数进行处理,controller层主要调用Service层里面的接口控制具体的业务流程,控制的配置也需要在配置文件中进行。

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

 

Entity层: (实体层 )数据库在项目中的类

entity层存放一些普通javabean,其中有一些属性及其getter和setter方法的类,没有业务逻辑,也不允许有业务方法,也不能携带有connection之类的方法。

 

View层: (视图层)负责前台jsp页面的表示

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

 

Conroller层和Service层的区别是:Controlle层负责具体的业务模块流程的控制;Service层负责业务模块的逻辑应用设计

 

总结

  • DAO面向表,Service面向业务。后端开发时先数据库设计出所有表,然后对每一张表设计出DAO层,然后根据具体的业务逻辑进一步封装DAO层成一个Service层,对外提供成一个服务。
  • 在具体的项目中,其流程为:Controller层调用Service层的方法,Service层调用Dao层中的方法,其中调用的参数是使用Entity层进行传递的。总的来说这样每层做什么的分类只是为了使业务逻辑更加清晰,写代码更加方便,所以有时候也需要根据具体情况来,但是大体的都是这样处理的,因为它其实就是提供一种规则,让你把相同类型的代码放在一起,这样就形成了层次,从而达到分层解耦、复用、便于测试和维护的目的。

 

参考链接:

https://blog.csdn.net/qq_22771739/article/details/82344336

https://blog.csdn.net/whz199511/article/details/81532593

https://blog.csdn.net/dl962454/article/details/103989156

 

你可能感兴趣的:(Java)