Я знаком с параметрами конфигурации на основе Java Springs, включая использование @Component
и @Configuration
в сочетании с @Bean
аннотациями для регистрации весенних бобах.Возможно ли зарегистрировать все классы в пакете как Весенние бобы
Однако при преобразовании проекта приличного размера, чтобы весной, это может быть очень трудоемким систематически перебрать все классы в проекте и обновление с @Configuration
@Bean
с или аннотирования каждого класса с @Component
. У нас есть большой проект Groovy, который нужно преобразовать, и я хотел бы упростить этот процесс.
Мой вопрос: Есть ли средство, предоставленное весной, которое позволяет рассказать Spring о том, чтобы автоматически настроить все допустимые классы кандидатов в конкретный пакет?
Если нет, то какие другие варианты доступны?
Спасибо, Роман. Я немного знаком с возможностью регистрации компонента в runtime manuall с использованием 'BeanFactoryPostProcessor' и метода postProcessBeanFactory. Ваше решение очень похоже на эти примеры. Я не был знаком с API 'Reflections'. Это происходит от: https://github.com/ronmamo/reflections? Знаете ли вы, что Reflections учитывают классы, которые еще не загружены в загрузчик классов? Смысл сканирует также .class файлы? – pczeus
@pczeus, да, я использовал отражение от ronmamo. Также я создал образец github проекта https://github.com/sandarkin/so-q37548350, который иллюстрирует описанный подход. –
О 'Размышления'. Да, он сканирует файлы .class напрямую, что подтверждается [org.reflections.Reflections # scan()] (https://github.com/ronmamo/reflections/blob/master/src/main/java/org /reflections/Reflections.java#L179) и [org.reflections.Reflections # scan (java.net.URL)] (https://github.com/ronmamo/reflections/blob/master/src/main/java/org/reflections/Reflections.java#L241). –