Guia para @SpringBootConfiguration no Spring Boot

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.