2011-06-18 59 views
1

我正在嘗試實現對彈簧框架的動態設施擴展。我需要 上下文:組件掃描值。例如,我如何提取「org.inanme.mock.easymock」值? 雖然這個例子很簡單,但是你知道它很複雜。從彈簧中提取「組件掃描」值

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

我想到實施 「BeanDefinitionRegistryPostProcessor」 類的,所以我有 「ConfigurableListableBeanFactory」, 「BeanDefinitionRegistry」 類。他們有上述信息嗎?還是還有什麼?

回答

2

查看ComponentScanBeanDefinitionParser的來源,它看起來不像是將值保存在可檢索的任何地方。另一種方法是自己解析上下文XML並提取它。

+0

同意ComponentScanBeanDefinitionParser在閱讀後不會暴露。 –

0

你是否真的需要base-package屬性值,或者它足以讓你知道所有匹配的bean?對於後者,您可以嘗試掃描註釋爲@Component或派生註釋的bean的應用程序上下文。

+0

對現有匹配的豆不感興趣。我試圖找到一種在配置凍結之前動態定義新bean的簡潔方法。 –