javaweb05-请求响应&分层耦合

请求响应

bs架构/cs架构

bs架构:浏览器/服务器架构模式

cs架构:客户端/服务器架构模式

请求

简单参数

  • 原始方式:HttpServletRequest 对象获取
  • SpringBoot:形参接收传递的简单参数(只需参数名与形参变量名保持一致即可,如果不一致使用RequestParam注解手动映射)

实体参数

声明对象,会自动接收封装

数组集合参数

  • 数组参数:请求参数名与形参中数组变量名相同,可以直接使用数组封装
  • 集合参数:请求参数名与形参中数组变量名相同,加@RequestParam注释绑定

时间参数

@DatatimeFormat 选择参数格式

JSON参数

JSON数据键名与形参对象属性名相同,加上@RequestBody注释

路径参数

通过请求url传递参数,参数同时也是路径,因此要通过动态方式绑定。@PathVariable

统一响应结果

Result对象

分层解耦

三层架构:单一职责原则

  • ①Controller:控制层,将数据响应前端
  • ②service:业务逻辑层,逻辑处理数据
  • ③dao:数据访问层,查询数据

分层解耦:IOC&DI入门

  • IOC:控制反转

  • DI:依赖注入

  • bean:IOC容器中的对象

操作步骤:

  1. 控制反转,将控制权交给IOC容器管理,@Component
  2. 依赖注入,@AutoWired

IOC详解

  • @Component:声明bean的基础注释
  • @Controller:标注在Controller类上
  • @Service:标注在Service类上
  • @Repository:标注在Dao类上

注意:

  1. 声明bean对象时,默认为类名首字母小写
  2. @ComponentScan(集成在@SpringBootApplication(启动类)中):默认扫描当前包及其子包

DI详解

默认按照类型进行注入,如果存在多个相同类型的bean,将报错

解决方案:

  • @Primary:当前注入生效
  • @AutoWired + @Qualifier:指明注入bean对象名称
  • @AutoWired -》@Resourse:按照名称注入
posted @ 2024-03-05 10:46  forest-pan  阅读(6)  评论(0编辑  收藏  举报