1. Обзор
В этом уроке мы кратко обсудим аннотацию @SpringBootConfiguration . Мы также рассмотрим его использование в приложении Spring Boot.
2. Конфигурация приложения Spring Boot
@SpringBootConfiguration -это аннотация уровня класса , которая является частью фреймворка Spring Boot. Он указывает, что класс обеспечивает конфигурацию приложения .
Spring Boot поддерживает конфигурацию на основе Java. В результате аннотация @SpringBootConfiguration является основным источником конфигурации в приложениях. Как правило, класс, определяющий метод main () , является хорошим кандидатом для этой аннотации.
2.1. @SpringBootConfiguration
Большинство Spring Boot используют @SpringBootConfiguration через @SpringBootApplication , аннотацию, которая наследуется от него. Если приложение использует @SpringBootApplication , оно уже использует @SpringBootConfiguration .
Давайте рассмотрим использование @SpringBootConfiguration в приложении.
Во-первых, мы создаем класс приложения, содержащий нашу конфигурацию:
@SpringBootConfiguration public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Bean public PersonService personService() { return new PersonServiceImpl(); } }
Аннотация @SpringBootConfiguration аннотирует класс Application . Это указывает контейнеру Spring, что класс имеет @Been методы определения . Другими словами, он содержит методы, которые создают экземпляры и настраивают наши зависимости.
Например, класс Application содержит метод определения компонента для компонента PersonService .
Кроме того, контейнер обрабатывает класс конфигурации. Это, в свою очередь, генерирует бобы для приложения. В результате теперь мы можем использовать Инъекцию зависимостей аннотации, такие как @Autowired или @Inject .
2.2. @SpringBootConfiguration vs @Configuration
@SpringBootConfiguration является альтернативой аннотации @Configuration . Основное отличие заключается в том, что @SpringBootConfiguration позволяет автоматически находить конфигурацию. Это может быть особенно полезно для модульных или интеграционных тестов.
Рекомендуется иметь только один @SpringBootConfiguration или @SpringBootApplication для вашего приложения. Большинство приложений просто используют @SpringBootApplication.
3. Заключение
В этой статье мы быстро взглянули на аннотацию @SpringBootConfiguration . Далее мы рассмотрели использование @SpringBootConfiguration в приложении Spring Boot. Мы также рассмотрели аннотацию Spring @Bean //.
Полный исходный код наших примеров здесь, как всегда, на GitHub .