2
respostas

Nomes de perfil no Spring: predefinidos ou posso criar o que eu quiser? E sobre o perfil de testes?

Para usar perfis na aplicação Spring, bastaria: - Usar a anotação @ActiveProfiles("nomePerfil") para selecionar qual perfil determinada classe usa. - Usar a anotação @Profile("nomePerfil") para demarcar onde é gerado algo direcionado para quem escolheu usar determinado perfil.

Até então, eu achava que poderia dar o nome que quisesse aos perfis, mas uma coisa me deixou com dúvida se os nomes dos perfis são nome predefinidos que devemos escolher. No curso "Spring MVC II" é criada uma classe de teste chamada ProdutoDAOTest, anotada com @ActiveProfiles("test"). É dito que as alterações feitas no banco usando um perfil de teste são automaticamente apagadas quando o teste termina de rodar. Como o Spring identifica que é um perfil de teste? Porque "test" é já um nome de perfil predefinido? Todos os nomes de perfil são prédefinidos ou apenas esse "test" (caso seja)?

2 respostas

A annotation ActiveProfiles é do spring-test. Só de usar ela ele já sabe que você ta ativando perfis para testes :).

Tá. Continuei sem saber se os nomes são predefinidos (test, dev, prod) e eu devo conhecer os nomes pra usar ou se posso inventar o nome que eu quiser (como coloca em português por exemplo).

Então o Spring sabe quando tem que apagar as informações inseridas no banco apenas porque uso @ActiveProfiles e estou rodando um teste e não porque está escrito "test" na anotação? Então eu poderia escrever qualquer nome?