美文网首页
Springboot API流程简单图示

Springboot API流程简单图示

作者: hexter | 来源:发表于2021-04-11 23:32 被阅读0次

springboot项目package结构就这么几块,套路是固定的。

controller里处理api的url对应的业务逻辑,如果无需访问数据库就直接返回数据;如果需要访问数据库,可以利用注入的service对象操作数据库。

dao里面放的是interface,访问数据库取数的interface类。有些项目结构不用dao用mapper,功能是一样的。与之一一对应的是resources\mapper里的xml文件,是一一对应。

resource\mapper里的xml文件是和dao里的interface一一对因的,可以理解为mybatis通过扫码这个xml来实例化dao,因为这个dao里的interface没有实现类,而在service里却可以直接注入对象。

为什么把数据库访问设计成dao+mapper,而不是dao+实现(service目录就是interface+实现),或者直接写dao实现类。

1,采用dao接口是为了解耦数据库;

2,采用mapper是因为mapper方式更加灵活强大,可以用动态sql实现更加灵活的api接口功能

domain目录,有些地方写modal或pojo,功能都是放简单类,这些类可以和数据库表对应,也可以不对应,具体对应和使用就是通过mapper里的xml文件

service目录下有interface类和对因的实现,在这里注入dao对象进行数据库操作。这里的函数可以和dao里的函数一一对应的。

这里可能有个疑惑,为什么controller不直接注入dao对象进行数据库访问呢?还是因为解耦的考虑

同样这个service目录用interface+实现类,而不是直接写实现类,也是为了不同层次之间的解耦。

Application.java是启动类

所以spingboot开发api的话就按这几个目录做相应的代码就行了。

网上也有个图,因为我们是后端只做api,所以没有view这个目录

下面是具体交互流程的示意图

采用Mybatis的好处主要有这几点:

提供数据库连接池

提供缓存

支持了动态sql

相关文章

网友评论

      本文标题:Springboot API流程简单图示

      本文链接:https://www.haomeiwen.com/subject/qwftlltx.html