1
resposta

[Dúvida] Resposta errada no questionario!

Tenho uma duvida sobre essa pergunta!

Vimos ao longo dessa aula que podemos injetar uma propriedade declarada no arquivo application.properties em uma classe gerenciada pelo Spring, com a utilização da anotação @Value.

Supondo que o arquivo application.properties tenha a seguinte propriedade declarada:

app.teste=true
COPIAR CÓDIGO
Qual a maneira CORRETA de injetá-la em um atributo de uma classe gerenciada pelo Spring?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Nao entendi bem então, pois para injetarmos um atributo declarado no application.properties devemos apenas usar o @Value("NOME_DO_ATRIBUTO_DECLARADO"), mas a resposta que deu como correta foi de como usamos um atributo declarado nas variaveis de ambiente.

1 resposta

Oi!

Para injetar uma propriedade com a anotação @Value o nome da propriedade deve ficar entre o simbolo ${}.

Se você deixar a string "solta", conforme o exemplo abaixo:

@Value("app.version")
private String version;

O Spring vai injetar nesse atributo o valor literal, ou seja a String app.version.

Para que ele entenda que não é para injetar o valor literal e sim buscar o propriedade no aplication.properties, é necessário colocar o valor entre o simbolo ${}

@Value("${app.version}")
private String version;

Bons estudos!