当前位置: 首页 > 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

相关文章:

  • 阿里云百炼通义大模型
  • 安全问答—评估和应用安全治理原则相关
  • 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的三个端口区分
  • 消息人士称泽连斯基已启程前往土耳其
  • 马上评|安排见义勇为学生补考,善意与善意的双向奔赴
  • 5吨煤炭“瞬间蒸发”?掺水炭致企业损失千万,腐败窝案曝光
  • 大外交|巴西总统卢拉第六次访华签署20项协议,“双方都视对方为机遇”
  • 警方通报“网约车司机偷拍女乘客”:已被行政拘留
  • 巴基斯坦外长:印巴停火