关于Spring Boot的几个层关系及Fegin【远程接口调用】、swagger接口管理工具的学习
Spring Boot各个层的关系
Controller层
Controller层相当于是前端和后端交互直接暴露给前端的一层,所有的接口的路径:@RequestMapping("/xxx") 这些等,在Controller层里调用Service层里的方法,将前端传来的数据传给Service层,并且将Service层返回的值传回给前端页面。
Service层
Service层里有一些interface及对应的一些impl类,实现具体的操作,在Service层不进行与数据库的直接操作,而是调用DAO层里的方法去实现与数据库的一个交互。
DAO层
DAO层主要就是进行增删改查这一类对数据库进行的操作,Service层会调用该层的方法实现与数据库的操作。
Entity等实体层
后端需要有一些实体类,这些实体类里的相关属性与数据库表里的一些列名一一对应,是数据库的实体类,DAO层对数据库的操作依靠这些实体类完成。
远程接口调用Fegin的使用
以下内容属于个人看法及其理解 在Controller层里,通过@RequestMapping("/xxx") 的注解去标明接口的路径等,然后直接调用Service层里的方法。 Fegin的使用稍微有一些不一样,provider类里与Controller大概一样,只是注解时不直接写出接口的路径,而是采用实现一个Client的interface,@RequestMapping(Client.xxx) 这样的形式,在Client里注明路径等。 然后会有一个具体的实现类,接口的实现方法在这个实现类里,这个实现类相当于Service层。
swagger接口管理工具
在Spring Boot项目中引入swagger的相关依赖,然后通过@Api、@ApiOperation等注解的使用,swagger会自动生成接口文档,开发人员无需自行维护接口文档。 swagger提供可视化界面,可以查看所有的接口及其使用方式,包括参数、调用方式及返回值等的展示,并且可以在该处进行接口测试,类似于postman工具。
总结
具体关于Fegin只有这么一个初步的了解,不是很清楚具体这样做的好处,但今天大概梳理了一下项目的代码结构,通过swagger测试了一下一些接口,查看了一下平台的相关功能等。 晚安!!!打工星加油!
|