从spring中提取“component-scan”值

时间:2011-06-18 14:57:00

标签: spring configuration

我正在尝试为spring框架实现动态设施扩展。我需要 上下文:组件扫描值。例如,我如何提取“org.inanme.mock.easymock”值? 虽然这个例子非常简单,但你知道它变得相当复杂。

<context:component-scan base-package="org.inanme.mock.easymock" />

我正在考虑实现“BeanDefinitionRegistryPostProcessor”类,所以我有“ConfigurableListableBeanFactory”,“BeanDefinitionRegistry”类。他们有以上信息吗?或者还有什么?

2 个答案:

答案 0 :(得分:3)

查看ComponentScanBeanDefinitionParser的来源,看起来该值不会保存在可检索的任何位置。另一种方法是自己解析上下文XML并将其解压缩。

答案 1 :(得分:0)

你真的需要base-package属性值,或者你知道所有匹配的bean就足够了吗?对于后者,您可能只是尝试扫描应用程序上下文以查找使用@Component或派生注释注释的bean。