методы, которые возвращают прокси. Я попробую это сегодня, когда зайду в офис и отредактирую свой ответ.

ел бы реализовать что-то похожее на Spring Data.

Разработчик может определить некоторые интерфейсы, добавить пользовательскую аннотацию к интерфейсам, чтобы пометить их (мой код создаст экземпляры Proxy для интерфейсов) и использовать их @Autowire для необходимых сервисов.

Во время весенней инициализации мне нужно получить список всех интерфейсов (правильно аннотированных) <создать динамический прокси для интерфейсов и внедрить их там, где они необходимы.

Создание прокси, добавление созданных бинов - это нормально. Теперь проблема:

Как найти список всех интерфейсов?

Они могут быть помещены в любую упаковку (или даже в отдельную банку) и иметь любое имя. Сканирование всех классов, существующих на пути к классам, требует слишком много времени.

я нашелвопрос но для запуска требуется базовый пакет.

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

Reflections reflections = new Reflections("...");
Set<Class<?>> annotated = reflections.getTypesAnnotatedWith(<annotation>);

Поэтому мне нужен полный список базовых пакетов, которые Spring просматривает, чтобы найти мои интерфейсы в пакетах (должно быть намного быстрее).

Информация определенно доступна в SpringContext. Я попытался отладить и посмотреть, как инициализируется basePackages [], но для инициализации используется множество частных классов / методов, и я просто не вижу, как правильно обращаться к basePackages из ApplicationContext.

Ответы на вопрос(3)

Ваш ответ на вопрос