我正在尝试为spring框架实现动态设施扩展。我需要 上下文:组件扫描值。例如,我如何提取“org.inanme.mock.easymock”值? 虽然这个例子非常简单,但你知道它变得相当复杂。
<context:component-scan base-package="org.inanme.mock.easymock" />
我正在考虑实现“BeanDefinitionRegistryPostProcessor”类,所以我有“ConfigurableListableBeanFactory”,“BeanDefinitionRegistry”类。他们有以上信息吗?或者还有什么?
答案 0 :(得分:3)
查看ComponentScanBeanDefinitionParser的来源,看起来该值不会保存在可检索的任何位置。另一种方法是自己解析上下文XML并将其解压缩。
答案 1 :(得分:0)
你真的需要base-package属性值,或者你知道所有匹配的bean就足够了吗?对于后者,您可能只是尝试扫描应用程序上下文以查找使用@Component
或派生注释注释的bean。