你们Springboot及SpringCloud使用的版本?
- SpringBoot: 2.3.9.RELEASE
- SpringCloud: Hoxton.SR8
你是如何理解前后端分离开发的?
前后端基于接口文档并行开发
- 后段基于接口文档提供对应的接口实现
- 前端基于接口文档生成mock数据,进行前端的开发,按照mock数据进行测试
你们后端接口是如何测试的?
单元测试,swagger,knife4j,postman
SpringMVC接收参数的注解有哪些?
@RequestBody //接收json格式
@RequestParam //接收key value格式
@PathVaribale //接收路径参数
你们项目的数据库设计情况? 你是否有独立设计过数据库?
冗余字段设计,避免多表联查
能否说出SpringBoot的自动装配原理?
springboot的自动装配就是通过自定义实现ImportSelector接口,从而导致项目启动时会自动将所有项目
META-INF/spring.factories路径下的配置类注入到spring容器中,从而实现了自动装配。
项目中是否自定义过starter起步依赖,如何定义?
编写完starter代码后在resources目录下新建 META-INF文件夹并在其下新建spring.factories文件
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.xxx.XxxxConfiguration
实现starter配置类的自动装配
然后其他微服务需要该starter的直接引入依赖即可
项目中异常是怎么处理的?
使用RestControllerAdvice连接项目中所有的异常,统一处理
项目中注册中心的作用?
- 发现,注册微服务
- 使用心跳机制监测服务健康状态
项目中api网关的作用?
- 身份认证,权限校验
- 请求路由,负载均衡
- 限流