на главнуюВсе эхи SU.SOFTW
войти ?

Jsr-223 и IoC

От Sergey Poziturin (2:5020/2141.3) к Anatoliy Sablin

В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)


Hello, Anatoliy Sablin.
On 20.12.17 12:47 ДП you wrote:

SP>> Понадобилось тут сделать сабж, а именно в скрипт на kotlin (ну
SP>> или Java - пофиг) инжектнуть свой бин через jsr-223.
AS> Я так баловался давно, описываешь интерфейс, пишешь на groovy
AS> скрипт, который его реализует, потом подсовываешь спрингу. Всё
AS> работало, но не пригодилось.

Я этот подход использую, конечно, причём всерьёз и надолго.

Но мой вопрос строго об обратном: не из скрипта получить имплементацию интерфейса, а в скрипт зафигачить свой бин. Причём сейчас я это делаю не очень красиво (в hard-coded переменную вставляю application context, далее скрипт сам делает getBean() того, что ему нужно). Причём получилось найти и сносное решение для юнит-тестирования и даже отладки (дебага) этих скриптов.

Но хочется красоты же.

lateinit var myBean: MyBean

И чтобы скрипт мог это использовать. Пока что ничего лучше парсинга сырца не придумал. То есть руками прямо в исходнике ищем аннотацию @Autowired и через контекст scripting engine загоняем бин класса MyBean в переменную "myBean". И это даже будет чудесно работать, причём как в скрипте jsr-223, так и нативно (если компилировать класс).

--
Best regards!
Posted using Hotdoged on Android
--- Hotdoged/2.13.5/Android
* Origin: Android device, Milky Way (2:5020/2141.3)

Ответы на это письмо:

From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку

From: Username
Или коротким

FGHI-url этого письма: area://SU.SOFTW?msgid=2:5020/2141.3+ce4f4f6a