As anotações são usadas para habilitar e configurar recursos específicos do Spring, permitindo que você defina o comportamento do seu aplicativo de maneira declarativa. O framework Spring detecta essas anotações durante o tempo de execução e toma as ações apropriadas com base nas configurações fornecidas.
@RestController
: Usada para marcar uma classe como um controller no padrão MVC (Model-View-Controller) do Spring.@RequestMapping
: Especifica a URL que um método do controlador irá manipular.@Autowired
: Utilizada para injetar dependências automaticamente em uma classe, permitindo que você obtenha uma instância de uma classe necessária sem criar manualmente.@Component
: Usada para marcar uma classe como um componente gerenciado pelo Spring.@Service
: Marca uma classe como um serviço do Spring, geralmente contendo a lógica de negócios do aplicativo.@RestControllerAdvice
: É usado para definir um componente global que trata exceções lançadas por controladores REST.@PathVariable
: Usada para injetar uma variável fornecida no path de uma requisição nos parâmetros do método do controller que foi chamado para tratar essa requisição
/user/12
⇒ @PathVariable String id
@RequestBody
: Usada para injetar o body de uma requisição nos parâmetros do método do controller que foi chamado para tratar essa requisição.O Spring JPA (Java Persistence API) é uma sub-biblioteca do Spring que oferece uma abordagem simplificada para trabalhar com persistência de dados em aplicações Java. Ele é uma implementação da JPA, uma especificação padrão da plataforma Java para mapeamento objeto-relacional (ORM)
<aside> 📌 Para usuários de Node JS podemos relacionar com o TypeORM ou Prisma
</aside>
Precisamos adicionar a configuração do banco de dados no nosso application.properties
spring.datasource.url=URL_ONDE_ESTÁ_RODANDO_SEU_DB
spring.datasource.username=NOME_USUARIO
spring.datasource.password=SENHA
As entidades JPA (Java Persistence API) são classes Java que representam objetos de domínio da nossa aplicação e são mapeadas para tabelas em um banco de dados relacional.