首页 > 解决方案 > 基于参数/条件的值,我想在我的类中注入一个依赖项。我怎么能在弹簧靴中做到这一点?

问题描述

我有一个接口,它的实现有很多。我有一个哈希图,其中包含 rendererId(例如 1,2,3)作为相应渲染器实现的键和类名。现在在我的服务类中,我想根据 Id 注入依赖 bean。假设对于一个请求,id 是 1 在我想注入 implementation1 的服务类中。如何在 Spring Boot 中完成(带注释)?如果你能提供伪代码那就太好了。提前致谢。

标签: javaspring-boot

解决方案


无法动态更改 @Autowire 限定符,因此您可以使用 ApplicationContext

@Autowired
private ApplicationContext applicationContext;

public void requestMethod(){
   MyServiceImpl1 myServiceImpl1= applicationContext.getBean("id1");
}

推荐阅读