在Spring框架中,可以使用以下方法获取所有实现了某个通用接口的bean:
ApplicationContext
的getBeansOfType
方法:ApplicationContext applicationContext = ...;
Map<String, MyInterface> beansOfType = applicationContext.getBeansOfType(MyInterface.class);
ListableBeanFactory
的getBeansOfType
方法:ListableBeanFactory beanFactory = ...;
Map<String, MyInterface> beansOfType = beanFactory.getBeansOfType(MyInterface.class);
BeanFactoryUtils
的beansOfTypeIncludingAncestors
方法:ListableBeanFactory beanFactory = ...;
Map<String, MyInterface> beansOfType = BeanFactoryUtils.beansOfTypeIncludingAncestors(beanFactory, MyInterface.class);
其中,MyInterface
是通用接口的名称,需要根据实际情况进行替换。
在使用这些方法时,需要注意以下几点:
ResolvableType
类进行处理。推荐的腾讯云相关产品:
产品介绍链接地址:
云+社区沙龙online第5期[架构演进]
云+社区技术沙龙[第17期]
北极星训练营
北极星训练营
北极星训练营
Elastic 中国开发者大会
云原生正发声
云+社区技术沙龙[第15期]
云+社区技术沙龙[第6期]
云+社区技术沙龙 [第30期]