Controller/Service/DAO简介


Controller是管理业务(Service)调度和管理跳转的。

Service是管理具体的功能的。

Controller只负责管理,而Service负责实施。

DAO只完成增删改查,虽然可以1-n,n-n,1-1关联,模糊、动态、子查询都可以。但是无论多么复杂的查询,dao只是封装增删改查。至于增删改查如何去实现一个功能,dao是不管的。


依据Controller+Service +Dao分层对前面我们构建的springboot项目进行适当优化


分层设计可以使得代码更规范,软件更有层次感,不同层负责不同功能,以免所有代码都写在一个类里面,一坨一坨的,眉毛胡子一把抓的感觉,项目一旦复杂起来代码根本没办法看,难以维护。你也可以把所有代码都写在UserController里,但是跟人协作开发,或者别人维护你的代码的时候会被喷死。


改造前的调用图


从0到1开发测试平台(四)Controller+Service +Dao三层的功能划分-LMLPHP

1.mapper目录改成dao


2.mapper目录下的UserMapper.xml改成UserDao.xml


3.增加service目录


4.新增UserService.java文件,新增代码如下




5.在service目录下新建impl目录


6.在impl目录,新建UserServiceImpl.java,实现UserService接口,之前是在UserController直接调用dao层,现在把dao层调用放到service层,controller改成调用service层,改造之后的UserController.java以及UserServiceImpl.java代码如下


UserServiceImpl.java



UserController.java


至此,项目改造完毕,改造之后的调用流程如下


从0到1开发测试平台(四)Controller+Service +Dao三层的功能划分-LMLPHP


改造之后的代码结构图如下


从0到1开发测试平台(四)Controller+Service +Dao三层的功能划分-LMLPHP


我们重新启动项目,访问测试接口

http://localhost:8081/queryUser,仍然成功访问


从0到1开发测试平台(四)Controller+Service +Dao三层的功能划分-LMLPHP


从0到1开发测试平台(三)利用vue cli创建前端vue项目


从0到1开发测试平台(二)springboot搭建常见问题


带你用java从0到1开发测试平台

本文分享自微信公众号 - 软件测试架构师俱乐部(gh_03227f9a322f)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

03-13 17:08