Автоматическая конфигурация в Spring Boot существенно облегчает жизнь разработчика, исключая так называемый “настроечный boilerplate” из повседневной рутины. Для запуска и конфигурирования приложения на Spring Boot хватит двух аннотаций:
package test; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Test { public static void main(String[] args) { SpringApplication.run(Test.class, args); }
Аннотация @SpringBootApplication
включает сканирование компонентов и автоматическую конфигурацию приложения. На самом деле, за этой аннотацией скрывается целых три:
@Configuration
(Spring) – помечает класс как конфигурационный (в контексте java-based конфигурации).@ComponentScan
(Spring) – включает сканирование компонентов, то есть классы-контроллеры и другие компоненты, которые вы создаете, будут автоматически зарегистрированы как бины вapplication context
.@EnableAutoConfiguration
(Spring Boot) – самая магическая аннотация из всех возможных. Именно она под капотом запускает весь механизм автоматической конфигурации Spring Boot.
@SpringBootApplication
впервые появилась в версии 1.2.0, до этого приходилось указывать все три аннотации из списка.
Есть несколько вариантов запуска приложений на Spring Boot. В примере выше используется метод main
, который позволяет запуститься из JAR при помощи командной строки. Он передает ссылку на класс Test
и аргументы командной строки в метод SpringApplciation.run()
, который запускает приложение.