извлечь значение "компонент-сканирование" из пружины - PullRequest
2 голосов
/ 18 июня 2011

Я пытаюсь реализовать динамическое расширение объекта до Spring Framework. я нуждаюсь контекст: значения компонентного сканирования. например, как извлечь значение «org.inanme.mock.easymock»? Хотя этот пример очень прост, но вы знаете, что он довольно сложный.

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

Я думаю о реализации класса "BeanDefinitionRegistryPostProcessor", поэтому у меня есть классы "ConfigurableListableBeanFactory", "BeanDefinitionRegistry". Есть ли у них информация выше? или что еще?

Ответы [ 2 ]

3 голосов
/ 18 июня 2011

Глядя на источник для ComponentScanBeanDefinitionParser не похоже, что это значение сохраняется где-либо там, где его можно извлечь.Альтернатива состоит в том, чтобы самостоятельно проанализировать контекст XML и извлечь его.

0 голосов
/ 19 июня 2011

Вам действительно нужно значение атрибута base-package, или вам будет достаточно знать все совпадающие бины? В последнем случае вы можете просто попытаться отсканировать контекст приложения на наличие компонентов, помеченных @Component или производных аннотаций.

...