Перейти к основному содержимому

Руководство по @SpringBootConfiguration в Spring Boot

· 2 мин. чтения

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, что класс имеет методы определения @Bean . Другими словами, он содержит методы, которые создают и настраивают наши зависимости.

Например, класс Application содержит метод определения компонента для компонента PersonService .

Кроме того, контейнер обрабатывает класс конфигурации. Это, в свою очередь, генерирует bean-компоненты для приложения. В результате теперь мы можем использовать аннотации Dependency Injection , такие как @Autowired или @Inject .

2.2. @SpringBootConfiguration против @Configuration

@SpringBootConfiguration — это альтернатива аннотации @Configuration . Основное отличие состоит в том, что @SpringBootConfiguration позволяет автоматически находить конфигурацию. Это может быть особенно полезно для модульных или интеграционных тестов.

Рекомендуется иметь только один @SpringBootConfiguration или @SpringBootApplication для вашего приложения. Большинство приложений просто используют @SpringBootApplication.

3. Заключение

В этой статье мы кратко рассмотрели аннотацию @SpringBootConfiguration . Кроме того, мы рассмотрели использование @SpringBootConfiguration в приложении Spring Boot. Мы также рассмотрели аннотацию Spring @Bean .

Полный исходный код наших примеров здесь, как всегда, находится на GitHub .