У меня есть приложение Spring Boot, которое действует как агент для сбора метрик от других приложений Spring Boot (клиентов). Я создал традиционный JAR-файл агента (Non-fat JAR) и добавил его в pom.xml клиента. Однако мне нужно изменить код клиента, чтобы включить @ComponentScan для обнаружения Spring Beans моего агента.
Как я могу зарегистрировать компоненты агента с помощью Spring без каких-либо изменений в клиентском коде?
аннотируйте метод с помощью @Bean, чтобы вернуть класс, на который вы ссылаетесь, для загрузки вашего пользовательского класса как bean-компонента в java-файл приложения Springboot.
Особенностью Springboot является автоматическая настройка, которая происходит, если вы аннотируете свой класс с помощью @Configuration. Rest Springboot позаботится о регистрации.
При условии, что класс @Configuration находится в том же или дополнительном пакете основного класса, аннотированного как SpringBootApplication. Если вы еще раз посмотрите на мой вопрос, мой класс конфигурации находится в другом приложении агента, которое было введено через зависимость Maven.
Хорошо, я могу сделать то, что вы говорите, создав класс @Configuration в моем агенте. Но как класс конфигурации будет зарегистрирован в Spring?