меня вопрос по работе его DI.
Обычно во всех таких фреймворках есть условный контекст будь-то .xml файл или например настройка Injectora в Guice, где мы указываем какие конкретно классы нужно инжектить.
В micronaut такого нет, написано что он сам подставит в compile time все зависимости, и этот момент для меня не очевидный. Как он получает список классов? В документации написано что допустим во время Micronaut.run() или ApplicationContext.run() он инициализирует зависимости. Но, как именно?
Он пойдёт сканить файлы по пакетам в поиске аннотаций или как это получается.
Спасибо за помощь 🤓
Делает annotation processing
Ну да, идёт сканить, как и Спринг
Могу путать, но кажется он при компиляции кладёт в ресурсы файл со списком "компонентов", по аналогии со spring-indexer. И в рантайме уже не запускает скан пакетов, а берет конкретный список бинов из файла
https://docs.micronaut.io/latest/guide/index.html#how не оно?
Обсуждают сегодня