Spring Boot & MVC - Básico
- #Java
O “MVC” é um padrão de projeto ( forma de estruturar a construção de um sistema ) que agrupa as funcionalidades semelhantes de um projeto.
E este agrupamento são separados no padrão M-V-C que representam as três principais divisões de projeto ou camadas.
- Model: Implementa as regras de negócio, regras de persistência, comunicação banco de dados e afins. A camada model está interligada a uma api, pluggin, framework ou interface que faz conexão com o SGBD (sistema gerenciador de banco de dados).
- View: Implementa a visualização de dados ou páginas web ou frameworks front-end.
- Controller: Controla as permissões, rotas, endereços e implementas os requisitos não funcionais e funcionais do projeto e também aplica os métodos ou interações das classes do projeto.
O sistema web que implementa este padrão de projeto funciona da seguinte maneira:
1- O Client ou usuário acessa uma página de endereço web;
2- O Controller recebe a requisição de uma página web e retorna ao usuário a página solicitada (View);
3- Caso a página solicitada tenha alguma interação com banco de dados o Controller aciona o padrão Model.
O funcionamento do MVC no framework Spring Boot se dá pela divisão das camadas em pastas, como a seguir :
- A pasta ou pacote model representa a camada Model, que contém as classes que serão gravadas no banco de dados.
- No Spring Boot, por padrão cria-se uma pasta chamada repostitory onde são armazenadas as interfaces que fazem a interação com o banco de dados.
- A pasta ou pacote templates representa a camada View, que contém as páginas web seja .html ou .jsp que serão visualizadas pelo usuário. Também contém os frameworks de front-end.
- A pasta ou pacote controller representa a camada Controller, que contém as classes que possuem as funcionalidades dos softwares.
- Em alguns projetos no Spring Boot cria-se uma pasta chamada services onde são armazenadas as classes que contém os requisitos funcionais, classes que executam algum tipo de serviço que são disponibilizados para outros programas ou páginas