一尘不染

如何在Spring Boot中使用应用程序上下文获取bean

spring

我正在开发一个SpringBoot项目,我想使用来获得其名称的bean applicationContext。我已经尝试了许多来自Web的解决方案,但未能成功。我的要求是我要有一个控制器

ControllerA

在控制器内部我有一个方法getBean(String className)。我想获取注册bean的实例。我有hibernate实体,我想通过仅在getBean方法中传递类名来获取bean的实例。

如果有人知道解决方案,请提供帮助。


阅读 1377

收藏
2020-04-16

共1个答案

一尘不染

你可以将ApplicationContext自动连接为一个字段

@Autowired
private ApplicationContext context;

或方法

@Autowired
public void context(ApplicationContext context) { this.context = context; }

最终使用

context.getBean(SomeClass.class)
2020-04-16