当前位置: 首页 > article >正文

spring分层解耦(springboot)

三层架构

image-20250218085900406

三层架构在项目文件中的分布

image-20250218090001132

image-20250218091624703

软件设计的原则,高内聚低耦合

高内聚:软件中各个功能模块内部的功能联系紧密,每个模块的功能实现具体

低耦合:软件中各个层/模块之间的依赖,关联的程度低

分层解耦的思想

image-20250218092534276

IOC&DI入门

service层以及dao层的实现类,交给IOC容器管理

为controller及service注入运行时,依赖的对象

image-20250218121431169

@RestController 主要用于开发 RESTful API,适用于需要返回 JSON 或 XML 格式数据的 Web 服务

Bean 是 Spring 框架的核心概念之一,它代表了由 Spring 容器管理的对象。通过声明式配置和依赖注入,可以轻松地管理和组织应用程序中的组件,提高代码的可维护性和灵活性。理解 Bean 的定义、作用域和生命周期对于开发高质量的 Spring 应用程序至关重要

bean的声明

image-20250218133309268

  • 声明bean的时候,可以通过value属性指定bean的名字,如果没有指定,默认为类名首字母小写

  • 使用以上四个注解都可以声明bean,但是在springboot集成web开发中,声明控制器bean只能用@controller

bean组件扫描

被组件扫描后才能进行生效

image-20250218133918237

所以java会默认扫描启动类所在包及其子包,但是如果bean在启动类所在包之外,那么该组件不能生效

bean注入相同类型解决方案|DI

image-20250218135154886


http://www.kler.cn/a/552338.html

相关文章:

  • c/c++蓝桥杯经典编程题100道(22)最短路径问题
  • LeetCode-76.最小覆盖子串
  • 蓝桥杯 Java B 组之哈希表应用(两数之和、重复元素判断)
  • 新型基于Go语言的恶意软件利用Telegram作为C2通信渠道
  • 深入解析DeepSeek推理模型:混合专家架构与稀疏注意力机制的融合
  • qt QOpenGLTexture详解
  • AI: Unsloth + Llama 3 微调实践,基于Colab
  • 格瑞普推出革命性半固态电池,为行业无人机续航注入未来动力
  • 瑞芯微RV1126部署YOLOv8全流程:环境搭建、pt-onnx-rknn模型转换、C++推理代码、错误解决、优化、交叉编译第三方库
  • VMamba论文精读笔记
  • Linux shell测试命令执行成功率
  • 线性模型 - Logistic 回归
  • 创建一个 JdbcService,并通过 Spring Boot 直接运行 SQL
  • ocr智能票据识别系统|自动化票据识别集成方案
  • 国密算法SM1、SM2、SM3和SM4 具体的使用和区别
  • PyTorch与TensorFlow的对比:哪个框架更适合你的项目?
  • 【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑬】
  • STM32 看门狗
  • 数据结构(3)——单链表
  • 路由器负载均衡配置