É uma anotação de conveniência que é anotada com @Controller e @ResponseBody.
Essa anotação é aplicada a uma classe para marcá-la como um manipulador de solicitações e usada para serviços da Web RESTful usando Spring MVC.
A anotação mapeia solicitações HTTP para métodos manipuladores de controladores. Essa é uma das anotações mais comuns usadas em aplicativos da Web Spring. Existem @GetMapping, @PostMapping, @PutMapping,@PatchMappinge @DeleteMappingpara lidar com diferentes tipos de solicitação HTTP.
A anotação é para garantir que o corpo da solicitação seja válido.
A anotação define que uma classe pode ser mapeada para uma tabela. É obrigatório, ao criar uma nova entidade você tem que fazer pelo menos duas coisas: anotou com @Entity crie um campo id e anote-o com @Id
A anotação permite especificar os detalhes da tabela que será usada para persistir a entidade no banco de dados.
Anotação usada para fornecer configuração de cache. A estratégia READ_WRITE é um mecanismo de simultaneidade de cache assíncrono e para evitar problemas de integridade de dados (por exemplo, entradas de cache obsoletas), ele usa um mecanismo de bloqueio que fornece garantias de isolamento de unidade de trabalho.
Permite que o lombok gere o getter/setter padrão automaticamente.
Anotação marca um campo como uma chave primária.
A anotação especifica que um valor será gerado automaticamente para esse campo. Geralmente é usado para estratégia de geração de chave primária, como exemplo, estamos usando IDENTITYa estratégia que significa "incremento automático".
Parte do Hibernate Validator; uma String restrita é válida se não for nula e o comprimento aparado for maior que zero
É usado para especificar a coluna mapeada para uma propriedade ou campo persistente.
Estende PagingAndSortingRepository , uma interface que fornece operações CRUD genéricas e adiciona métodos para recuperar entidades usando a abstração de paginação e classificação.
ContactRepository também estende a interface JpaSpecificationExecutor . Essa interface fornece métodos que podem ser usados para chamar consultas de banco de dados usando a API JPA Criteria. T descreve o tipo da entidade consultada, no nosso caso é Contact. Para especificar as condições da consulta de banco de dados invocada, precisamos criar uma nova implementação de Specification : classe ContactSpecification.
É o estereótipo para a camada de serviço.
A anotação permite que o Spring resolva e injete beans de colaboração em seu bean.
Fornece uma maneira conveniente de iniciar um contexto de aplicativo a ser usado em um teste.
Neste tutorial rápido, discutiremos o uso da anotação @RunWith no framework JUnit 5. No JUnit 5, a anotação @RunWith foi substituída pela anotação mais poderosa @ExtendWith . No entanto, a anotação @RunWith ainda pode ser usada no JUnit 5 para fins de compatibilidade com versões anteriores.
Adiciona WebTestClientao contexto do aplicativo de teste. Ele nos permite testar os endpoints do servidor.
Isso nos permite executar o teste em um banco de dados real em vez do incorporado.
É útil quando queremos testar nossos RestTemplates. Ele configura automaticamente os componentes necessários, além de um MockRestServiceServerobjeto que nos ajuda a simular respostas para as solicitações provenientes das RestTemplatechamadas.
autoconfigura mapeadores JSON e classes como JacksonTesterou GsonTester. Com eles, podemos verificar se nossa serialização/desserialização JSON está funcionando corretamente ou não.
Adicionar uma MockMvcinstância ao contexto do aplicativo.
Usamos esse MockMvc objeto para realizar uma POST solicitação ao nosso aplicativo e verificar se ele responde conforme o esperado.
Em seguida, usamos o UserRepositorycontexto do aplicativo para verificar se a solicitação levou a uma alteração esperada no estado do banco de dados.