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容器中的对象
操作步骤:
- 控制反转,将控制权交给IOC容器管理,
@Component
- 依赖注入,
@AutoWired
IOC详解
@Component
:声明bean的基础注释@Controller
:标注在Controller类上@Service
:标注在Service类上@Repository
:标注在Dao类上
注意:
- 声明bean对象时,默认为类名首字母小写
@ComponentScan
(集成在@SpringBootApplication
(启动类)中):默认扫描当前包及其子包
DI详解
默认按照类型进行注入,如果存在多个相同类型的bean,将报错
解决方案:
@Primary
:当前注入生效@AutoWired
+@Qualifier
:指明注入bean对象名称@AutoWired
-》@Resourse
:按照名称注入