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

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.dtcms.com/a/24029.html

相关文章:

  • 阿里云百炼通义大模型
  • 安全问答—评估和应用安全治理原则相关
  • Deepseek官方整理的13类提示词推荐
  • id生成系统和mp条件简化
  • 《模式和状态管理》知识总结
  • 百度搜索全面接入DeepSeek-R1满血版:AI与搜索的全新融合
  • 深入解析 Flutter Widget 树与布局:从电商首页到性能优化
  • 23种设计模式 - 建造者模式
  • Pytorch实现之SCGAN实现人脸修复
  • 【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter16-DOM2 和 DOM3
  • 数据在内存中的存储
  • 2025年02月17日Github流行趋势
  • JavaScript数组-创建数组
  • 投资组合风险管理
  • JDK 24:Java 24 中的新功能
  • 使用Java爬虫获取1688自定义API操作接口
  • Flutter 网络请求与数据处理:从基础到单例封装
  • 【吾爱出品】[Windows] 透明浏览器V1
  • 【Elasticsearch】监控与管理:集群安全管理
  • Rabbitmq的三个端口区分
  • 如何利用国内镜像从huggingface上下载项目
  • 实现可拖拽的 Ant Design Modal 并保持下层 HTML 可操作性
  • 人工智能(AI)的定义与硬件需求
  • 物理层芯片的Auto-negotiation(自动协商)的详细解释
  • 解决 matplotlib 不支持中文字符
  • C++(23):unreachable
  • 【算法与数据结构】字典树(Trie)详解
  • java爬虫抓取网页搜索数据
  • 蓝桥杯 Java B 组 之树的基础(二叉树遍历)
  • Linux Socket编程:TCP开发指南