Экземпляр объекта Autowire в команде Spring shell?

У меня есть небольшой сервер, который нуждался в простой консоли для ввода команд. После небольшого поиска я нашел раковину весны, которая делает работу.

Некоторым из моих команд необходим доступ к объекту экземпляра сервера.

Как я могу (autowire?) Мой экземпляр объекта сервера в мою команду Spring Shell, чтобы я мог получить доступ к моему экземпляру объекта сервера в команде Spring Shell?

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

Я пытался использовать:

bootstrap.getApplicationContext().getBeanFactory().registerSingleton(class, myserverinstance)

Но это можно сделать только после вызова конструктора Bootstrap, и тогда уже слишком поздно.

1 ответ

Решение

Я не уверен, что понимаю.

Прежде всего, процесс Spring Shell - это тот же процесс, что и ваш "сервер"?

Что касается проводки, Spring Shell ничем не отличается от любого другого приложения Spring. Я понимаю, что у вас уже есть экземпляр вашего "серверного" компонента. Лучше всего в этом случае использовать FactoryBean

надеюсь, это поможет

Другие вопросы по тегам