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

依赖注入(Dependency Injection)

依赖注入是一种设计原则,主要用于减少类之间的紧耦合度,通过将对象的选择和创建逻辑外包给一个容器来实现动态注入。

适用场景:

  • 当需要将对象的生命周期管理和依赖关系外包给外部容器时(如Spring DI容器)。
  • 当应用程序希望通过配置文件或注解来动态更改对象依赖时。
    @Component
    public class Circle implements Shape {@Overridepublic void draw() {System.out.println("Drawing a Circle");}
    }@Component
    public class Square implements Shape {@Overridepublic void draw() {System.out.println("Drawing a Square");}
    }public class ShapeService {private final Shape shape;@Autowiredpublic ShapeService(Shape shape) {this.shape = shape;}public void drawShape() {shape.draw();}
    }public class Main {public static void main(String[] args) {ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);ShapeService service = context.getBean(ShapeService.class);service.drawShape(); // 根据Spring配置或XML定义的Shape类型输出}
    }

http://www.lryc.cn/news/439071.html

相关文章:

  • PHP环境搭建
  • 小叶OJ 2716: 过河问题 ← 贪心算法
  • LeetCode509:斐波那契数列
  • 5G前传-介绍
  • 【Python机器学习】循环神经网络(RNN)——超参数
  • 【Android 13源码分析】WindowContainer窗口层级-1-初识窗口层级树
  • Node.js的学习2——内置模块(一)
  • 信息安全工程师(5)域名与域名解析
  • idear导入他人项目如何快速运行
  • 直流无刷电机霍尔线序自学习解释
  • C++学习笔记(26)
  • 安卓14剖析SystemUI的ShadeLogger/LogBuffer日志动态控制输出dumpsy机制
  • 华为CNA VRM搭建(使用vmware worfstartion搭建)
  • 【WRF工具】WRF Domain Wizard第二期:使用教程
  • 智能摄像头MP4格式化恢复方法
  • 【C++】unordered系列
  • Cobbler 搭建方法
  • 从边缘到云端,合宙DTURTU打造无缝物联网解决方案
  • 【Android Studio】API 29(即Android 10)或更高版本,在程序启动时检查相机权限,并在未获取该权限时请求它
  • 【裸机装机系列】3.kali(ubuntu)-更新sources.list并重启
  • text2sql(NL2Sql)综述《The Dawn of Natural Language to SQL: Are We Fully Ready?》
  • 【滑动窗口】一题讲透滑动窗口!
  • 嵌入式通信原理—SPI总线通信原理与应用
  • 基于web的 BBS论坛管理系统设计与实现
  • 【Scala入门学习】Scala的方法和函数
  • 【JVM】概述
  • 鸿蒙开发笔记_电商严选02_登录页面跳转到我的页面、并传值
  • clip论文阅读(Learning Transferable Visual Models From Natural Language Supervision)
  • 用于图像分割的协 SMA Transformer:同多注意力转换器 !
  • lodash中_.difference如何过滤数组