当前位置: 首页 > 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.lryc.cn/news/539245.html

相关文章:

  • 最新智能优化算法:牛优化( Ox Optimizer,OX)算法求解经典23个函数测试集,MATLAB代码
  • 尚硅谷 java 学习Day19 抽象类与抽象方法、接口、内部类
  • 机器学习数理基础:从概率到梯度下降的全面解析
  • 数据结构:哈希
  • Openssl交叉编译
  • 【linux】更换ollama的deepseek模型默认安装路径
  • 组合模式详解(Java)
  • 蓝桥杯单片机基础部分——单片机介绍部分
  • 如何简单的去使用jconsloe 查看线程 (多线程编程篇1)
  • python学习笔记,python处理 Excel、Word、PPT 以及邮件自动化办公
  • DeepSeek教unity------Dotween
  • 前端开发中关于虚拟列表的实现与应用优化
  • 图解JVM-1. JVM与Java体系结构
  • Word中的文档信息域
  • Linux中的权限问题(二)
  • 【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十八节】
  • Spring Boot自动装配:约定大于配置的魔法解密
  • [笔记.AI]大模型的蒸馏、剪枝、量化 | 模型压缩 | 作用与意义
  • 【koa】05-koa+mysql实现数据库集成:连接和增删改查
  • 【数据结构】队列(Queue)
  • 机器学习PCA和LDA
  • RocketMQ - 常见问题
  • kafka消费能力压测:使用官方工具
  • 基于Spring Boot的社区居民健康管理平台的设计与实现
  • 网络安全架构战略 网络安全体系结构
  • 【Spring+MyBatis】_图书管理系统(中篇)
  • Python - 爬虫利器 - BeautifulSoup4常用 API
  • 宝塔面板开始ssl后,使用域名访问不了后台管理
  • 大一计算机的自学总结:前缀树(字典树、Trie树)
  • docker 安装的open-webui链接ollama出现网络错误