Экземпляр объекта Autowire в команде Spring shell?
У меня есть небольшой сервер, который нуждался в простой консоли для ввода команд. После небольшого поиска я нашел раковину весны, которая делает работу.
Некоторым из моих команд необходим доступ к объекту экземпляра сервера.
Как я могу (autowire?) Мой экземпляр объекта сервера в мою команду Spring Shell, чтобы я мог получить доступ к моему экземпляру объекта сервера в команде Spring Shell?
Кажется, конструктор начальной загрузки создает контекст приложения и сразу находит команды оболочки пользователя.
Я пытался использовать:
bootstrap.getApplicationContext().getBeanFactory().registerSingleton(class, myserverinstance)
Но это можно сделать только после вызова конструктора Bootstrap, и тогда уже слишком поздно.
1 ответ
Я не уверен, что понимаю.
Прежде всего, процесс Spring Shell - это тот же процесс, что и ваш "сервер"?
Что касается проводки, Spring Shell ничем не отличается от любого другого приложения Spring. Я понимаю, что у вас уже есть экземпляр вашего "серверного" компонента. Лучше всего в этом случае использовать FactoryBean
надеюсь, это поможет