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

Spring List接口类型的自动注入

注入同一接口的所有实现类

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;// 定义一个接口
interface MyService {void doSomething();
}// 接口实现类1
@Component
class ServiceA implements MyService {@Overridepublic void doSomething() {System.out.println("ServiceA doing something");}
}// 接口实现类2
@Component
class ServiceB implements MyService {@Overridepublic void doSomething() {System.out.println("ServiceB doing something");}
}// 使用List注入所有实现类
@Component
class ServiceProcessor {// 自动注入所有MyService接口的实现类@Autowiredprivate List<MyService> services;public void processAll() {// 遍历调用所有实现类的方法services.forEach(MyService::doSomething);}
}

Spring 实现自动注入的核心原理是:

  1. 容器启动时扫描并注册所有 Bean
  2. 当发现需要注入List类型时,容器会:
    • 查找所有匹配泛型类型的 Bean
    • 收集这些 Bean 并放入List
    • 将组装好的List注入到目标对象中

这种方式特别适合需要批量处理同一接口的多个实现类的场景,如策略模式的实现

http://www.dtcms.com/a/399049.html

相关文章:

  • DeepSeek发布V3.1-Terminus版本,模型性能与Agent能力全面升级
  • 中国制造网外贸站宣传软文模板
  • C++?智能指针!!!
  • Python环境终极排错指南:彻底解决pip install失败问题
  • 【JAVA】Java抽象类与接口详解:特性与实战运用(超详细)
  • Shell 脚本知识体系
  • 怎么创立网站官网开发多少钱一个
  • RK3568+MCU实时机器人解决方案
  • (队列)Leetcode239 滑动窗口的最大值
  • 企业网站的建设意义付费阅读网站代码
  • 青岛网站上排名美容医疗 网站建设
  • 网站实名认证必须做么做网站的html框架
  • 采用libreoffice将word、excel等文件转换为pdf格式
  • vue3 用el-dialog实现用户协议,内容是富文本, 滚动到最后才允许关闭
  • 考研408《操作系统》复习笔记,第四章(1)《文件管理概念》
  • 如何整合 openSSL custom provider (以 TRNG 舉例)
  • 做电影网站一年赚多少钱wordpress 二级页面菜单 404
  • JAVA学习笔记——判断和循环的概念和一些习题
  • Java `synchronized` 关键字高频面试题(原理+场景+底层实现)
  • 微信企业号可以做微网站吗查看wordpress访问记录
  • 企业建站程序哪个好asp简单网站开发
  • 法术光环释义
  • todesk远程到被控Mac后不显示画面
  • 上网行为安全(2)
  • 网站颜色搭配技巧网站建设征税标准
  • 虚拟主机建网站网站建设技术主管
  • Transformer原理学习(4)注意力机制
  • Linux epoll 事件机制深度解析
  • 仿制网站软件王烨名字含义
  • 网站建设教程 乐视网冠辰网站建设