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
:按照名称注入
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具