SpringBoot框架分层

马上迎来JavaWeb的结课作业以及实习,在边看视频边对上学期实习项目进行改进之后,我遇到了疑惑,怎样理解pojo层、dao层、service层、controller层?下面的图片为我上学期实习项目改进后的结果。

SpringBoot框架分层_第1张图片

 

1、Pojo层:

(1)实体层 数据库在项目中的类
(2)model是模型的意思,与entity、domain、pojo类似,是存放实体的类。
(3)类中定义了多个类属性,并与数据库表的字段保持一致,一张表对应一个model类。
(4)主要用于定义与数据库对象应的属性,提供get/set方法,tostring方法,有参无参构造函数。
2、dao层

(1)持久层,主要与数据库进行交互
(2)又被成为mapper层,叫数据持久层,先设计接口,然后在配置文件中进行配置其实现的关联。
(3)dao层会调用pojo层,dao中会定义实际使用到的方法,比如增删改查。
(4)dao层的作用为访问数据库,向数据库发送sql语句,完成数据的增删改查任务。
(5)dao层的数据源和数据库连接的参数都是在配置文件中进行配置的,配置文件一般在同层的xml文件夹中
(6)数据持久化操作就是指,把数据放到持久化的介质中,同时提供增删改查操作,比如数据通过hibernate插入到数据库中

3、service层

(1)业务层,控制业务,Service层叫服务层,被称为服务,粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务

(2)service层调用dao层接口,接收dao层返回的数据,完成项目的基本功能设计。

(3)完成功能的设计和dao层一样都是先设计接口,再创建要实现的类,然后在配置文件中进行配置其实现的关联。

(4)service的impl是把mapper和service进行整合的文件 封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性。

4、controller层

(1)控制层 控制业务逻辑

(2)controller层负责具体的业务模块流程的控制,controller层负责前后端交互,接受前端请求,调用service层,接收service层返回的数据,最后返回具体的页面和数据到客户端。

5、utils层

顾名思义,存放一些工具类的层

 当然还有一些静态资源层,也就是jsp页面、css样式表、图片等等,也称为View层。

SpringBoot框架分层_第2张图片

业务逻辑

controller-->service接口-->serviceImpl-->dao接口-->mapper.xml-->db
        在具体的项目中,其流程为:Controller层调用Service层的方法,Service层调用Dao层中的方法,其中调用的参数是使用Pojo层进行传递的。总的来说这样每层做什么的分类只是为了使业务逻辑更加清晰,写代码更加方便,所以有时候也需要根据具体情况来,但是大体的都是这样处理的,因为它其实就是提供一种规则,让你把相同类型的代码放在一起,这样就形成了层次,从而达到分层解耦、复用、便于测试和维护的目的。
 

 

 


 

你可能感兴趣的:(JavaWeb学习之路,spring,boot,java,后端)