将BeanFactory注入Bean

has*_*san 6 java spring

我想将一个Spring注入一个BeanFactoryBean创建的同样BeanFactory 是以任何方式这样做的吗?

顺便说一句,我正在开发一个Web应用程序.如果不是,我知道我可以获得BeanFactory,RequestContext但我想要注入的bean BeanFactory不在requestContext但仍在应用程序上下文中.我能这样做吗?

Evg*_*eev 14

如果启用了annotation-config模式,那么这应该有效

class Bean
   @Autowired
   BeanFactory factory;
   ...
Run Code Online (Sandbox Code Playgroud)


Lau*_*ntG 8

你的bean可以实现BeanFactoryAware.通过实现此接口,您的bean将BeanFactory通过调用此方法来接收:

void setBeanFactory(BeanFactory beanFactory) throws BeansException
Run Code Online (Sandbox Code Playgroud)

顺便说一句,有一个类似的接口(ApplicationContextAware),以便检索ApplicationContext你需要的.