Конфигурация бинов: JavaConfig vs аннотации
Spring предоставляет два основных способа определения бинов: на основе аннотаций (стереотипные аннотации @Component, @Service, @Repository) и на основе Java-конфигурации (@Configuration + методы @Bean). Оба используются в каждом Spring Boot приложении — аннотации для собственных классов, JavaConfig для сторонних классов и явного связывания.