Как я могу удалить одноэлементный компонент Spring из ApplicationContext?

Я хочу разработать систему управления модулями , чтобы каждый компонент Spring мог управляться моим собственным контроллером LifeCycle.

Но я не могу понять, как удалить одноэлементный компонент Spring из ApplicationContext.

Это может быть интересной проблемой, не могли бы вы помочь мне решить?

26
задан jackalope 28 July 2011 в 08:06
поделиться

1 ответ

Вы можете попробовать удалить определение компонента. Получите BeanDefinitionRegistry и позвоните removeDefinition(..)

Это зависит от того, как вы создаете свое приложение, но, например, в веб-приложении вы можете получить реестр определений:

BeanDefinitionRegistry factory = 
   (BeanDefinitionRegistry) applicationCtx.getAutowireCapableBeanFactory();

(фабрика бобов реализует BeanDefinitionRegistry).

Я не знаю, будет ли удален также экземпляр компонента. Попробуйте.

22
ответ дан 28 November 2019 в 06:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: