Introdução

Annotatios são recursos poderosos criados pelo Spring Boot que torna a experiencia do programador muito mais simples e prazerosa. Algumas annotatios são básicas até para os projetos mais simples. Outras, porém podem ser aplicadas em projetos mais complexos, como projetos que são executados em vários ambientes. Abaixo, algumas delas:

@Configuration

Permite que uma classe seja executada antes de iniciar a execução principal do projeto spring. Muito usado para fazer configurações, e pode-se adicionar uma anotação que define também o ambiente dessa configuração. Assim, é possível executar configurações especificas para cada ambiente.

Screenshot_4.png

@Bean

Torna global para toda a aplicação uma propriedade/método. Muito útil para caso seja necessário recuperar esse valor em algum momento da execução da aplicação. Pode ser aplicado em configurações de banco de dados ou configurações de e-mail por exemplo.

Para recuperar essa propriedade/método, basta injete-la utilizando o @Autowired, para especificar a intenção de que será uma injeção de dependência e depois adicionar a anotação @Qualifier passando como parâmetro o nome do @Bean. O nome no @Bean pode ser setado, mas caso não seja, será utilizado o nome do próprio método.

É possível também criar uma interface, e subscrever os métodos dessa interface no retorno do método do @Bean utilizando a annotation @Override

A baixo um exemplo de utilização do @Bean, em que é executado um comando para se exibir uma mensagem no console da aplicação.

Screenshot_5.png

@Override

Permite que um método sobrescreva um outro método de uma superclasse de um mesmo nome.

@Decrepated

Utilizada para indicar que um método não deve mais ser utilizado. Ou seja, que esta obsoleto e que outro deve ser utilizado no lugar.

@SupperessWarnings

Permite que os alertas que naturalmente seriam apontados para aquela classe deixem de ser considerados, por parâmetro é passado um value, e dentro desse value são passados os alertas específicos que se deseja serem desconsiderados para esta classe. Outros parâmetros possíveis são o all, que desabilita todos os alertas, e o deprecation que desabilita os alertas para códigos obsoletos.

@Profile

Se utilizada junto com a @Configuration. É possível fazer com que essa classe de configuração seja executada de acordo com o ambiente parametrizado nesta annotation. Como mostra a figura a baixo:

Screenshot_1.png

@Retention e @Target

São utilizadas para criar annotations. Se uma classe possuir uma grande quantitade de annotation, é possível criar assim uma nova annotation que vai englobar todas as outras, reduz-se assim o número de annotatios da classe para um. Como mostra as figuras a baixo:

Screenshot_2.png

Screenshot_3.png

Um detalhe importante é a classe que vai agrupar as annotations deve ser criada com o tipo Annotation.

Conclusão

Conclui-se então que este é um recurso poderosíssimo que possibilita novas formas de implementação para um projeto. São indispensáveis para os programadores que querem se tornar especialistas em Java com Spring Boot.