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 .