Guia para @SpringBootConfiguration no Spring Boot
1. Visão geral
Neste tutorial, discutiremos brevemente a anotação@SpringBootConfiguration. Também veremos seu uso em um aplicativo Spring Boot.
2. Configuração do aplicativo Spring Boot
@SpringBootConfiguration is a class-level annotation que faz parte da estrutura do Spring Boot. Éindicates that a class provides application configuration.
O Spring Boot favorece a configuração baseada em Java. Como resultado, a anotação@SpringBootConfiguration é a fonte primária para configuração em aplicativos. Geralmente, a classe que define o métodomain() é uma boa candidata para essa anotação.
2.1. @SpringBootConfiguration
A maioria do Spring Boot usa@SpringBootConfiguration via@SpringBootApplication, uma anotação que herda dele. Se um aplicativo usa@SpringBootApplication, ele já está usando@SpringBootConfiguration.
Vejamos o uso de@SpringBootConfiguration’s em um aplicativo.
Primeiro, criamos uma classe de aplicativo que contém nossa configuração:
@SpringBootConfiguration
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public PersonService personService() {
return new PersonServiceImpl();
}
}
A anotação@SpringBootConfiguration anota a classeApplication. Isso indica ao contêiner do Spring quethe class has @Bean definition methods. Em outras palavras, ele contém métodos que instanciam e configuram nossas dependências.
Por exemplo, a classeApplication contém o método de definição de bean para o beanPersonService.
Além disso, o contêiner processa a classe de configuração. Isso, por sua vez, gera beans para o aplicativo. Como resultado, agora podemos usar anotaçõesDependency Injection como@Autowired ou@Inject.
2.2. @SpringBootConfiguration vs@Configuration
@SpringBootConfiguration é uma alternativa para a anotação@Configuration. A principal diferença é que@SpringBootConfiguration permite que a configuração seja localizada automaticamente. Isso pode ser especialmente útil para testes de unidade ou integração.
A recomendação éonly have one @SpringBootConfiguration or @SpringBootApplication para sua aplicação. A maioria dos aplicativos simplesmente usará@SpringBootApplication.
3. Conclusão
Neste artigo, demos uma olhada rápida na anotação@SpringBootConfiguration. Além disso, observamos o uso de@SpringBootConfiguration em um aplicativo Spring Boot. Também revisamos a anotação@Bean. do Spring
O código-fonte completo de nossos exemplos aqui é, como sempre,over on GitHub.