【发布时间】:2011-05-31 06:07:24
【问题描述】:
由于是插件架构,我正在尝试以编程方式将 bean 添加到我的 web 应用程序中。我有一个通过@Component 注释创建的Spring bean,我正在实现ApplicationContextAware 接口。
我的覆盖函数如下所示:
@Override
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
// this fails
this.applicationContext = (GenericWebApplicationContext) applicationContext;
}
基本上,我不知道如何将 bean 添加到给 setApplicationContext 的 applicationContext 对象。谁能告诉我我是怎么搞错的?
好的,这就是我最终得到的解决方案:
@Override
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry bdr)
throws BeansException {
BeanDefinition definition = new RootBeanDefinition(
<My Class>.class);
bdr.registerBeanDefinition("<my id>", definition);
}
【问题讨论】:
标签: java spring web-applications dynamic