Article image
Olival Neto
Olival Neto04/03/2023 15:24
Compartilhe

O que Você Aprende ao Estudar Spring Boot? - Mundo Java

  • #JavaScript
  • #Spring Boot / Spring Framework
  • #Java

Fala, Dev. Hoje, vou te explicar um pouco do poder desta tecnologia para a construção de aplicações web do zero até o sistema final que é utilizado pelo usuário.

Para esta explicação, quero que imagine um site, que tem um formulário de cadastro com o botão salvar. O que aconteceria se utilizássemos o Spring Boot para criar isso?

Então, o Spring Boot tem vários projetos, dentre eles temos:

  • Spring M.V.C
  • Spring Data
  • Spring Web
  • Spring Security

Vamos falar de cada um de forma simples, por partes, para que você entenda a construção dessa aplicação. É claro que sabemos que um site, que possui um formulário e um botão salvar, comunica-se com um banco de dados.

Mas, também sabemos que no front-end, ou seja, no código html, css e javascript, não tem nada relacionado ao banco de dados. O que podemos ter aqui é uma requisição http, solicitando que os dados do formulário, seja enviados ao servidor.

O servidor que recebe esses dados possui o banco de dados e a lógica do negócio. Logo, podemos falar do Spring M.V.C. Ele cria um projeto que separa a parte gráfica, que interage com o usuário, da parte da lógica do negócio, onde acontece todas as operações mais complexas e o banco de dados.

Podemos falar de Model-View-Controller, onde o Model representa a lógica do negócio, o View representa as janelas gráficas, e o Controler fica no meio, fazendo a interação da lógica do negócio com a apresentação de dados ao usuário. O Model, ainda pode falar com o banco de dados e decidir o que fazer com esses dados que foram solicitados ou obtidos.

Voltado ao nosso site, pare e pense... o usuário acabou de preencher todos os campos do formulário e clicou no botão salvar. Então, o que acontece?

O JavaScript pode capturar todos esses dados, validá-los ainda no front-end e prepará-los para um arquivos de texto, no formato JSON. Esse arquivo, será enviado via requisição http para o servidor.

Ao chegar essa requisição no servidor, a API, criada em Java, com Spring Boot, vai ler os dados desse arquivo e passá-los para a lógica do negócio, logo, o Controller está se comunicando com o Model. Por sua vez, o Model faz a sua parte e acessa o banco de dados, para salvar esses dados.

Esses dados são gerenciados pelo Spring Data, que pode ter apenas a comunicação direta com o banco de dados relacional (MySQL/SQL) ou com banco de dados não relacionais, tal como, MongoDB.

Mas, não é só isso, o Spring ainda tem muito mais poder e consegue criar muito mais coisas, tal como, sabe aquele código html, css com javascript, que você cria, e pode gerar uma página de login, que requisita um usuário e senha?

Então, utilizando o Spring Boot Web com Spring Security, você pode criar algo bem mais complexo e poderoso, com algumas linhas de código e adicionando algumas dependências, ou seja, você pode usar o Spring Security para criar uma tela de login, que é apresentada para qualquer usuário que solicitar acessar a sua aplicação web.

Legal né?! Uma única ferramenta fazendo tudo isso de forma clara e prática. Você pode gerenciar o que cada usuário pode e não pode acessar, quais rotas do seu site (URLs) ele pode navegar e obter dados, assim, com Spring Security, você tem acesso a gerência de dados, com criptografia inclusive.

O Spring Web serve para que a sua aplicação vire um sistema web. Assim, você pode utilizar o Spring Boot tanto para criar APIs, que fazem toda essa gerência de dados dentro do servidor web, assim como, a criação da Aplicação Web que o usuário terá acesso no seu browser (Google Chrome, Mozilla, Opera...).

É um universo que vale a pena ser desvendado. Além disso, você pode utilizar o gerenciador de pacotes Maven, para criar a estrutura do projeto, acessando as dependências via repositório web, tal como o Maven Repository, atualizando o arquivo pom.xml, e tendo acesso a tudo isso que te falei.

Se quiser ser mais ousado, ainda pode utilizar o Spring Initializ para criar um projeto com Maven, no seu navegador web, que já possui todas as dependências e apenas tendo o trabalho de importar o arquivo na sua IDE de preferência, seja ela Eclipse, Netbeans, Intellij, Visual Studio Code, ou outra.

Mas, para chegar a toda essa produtividade você precisará passar pelas bases, que são:

  • Java
  • Declaração de variáveis
  • Estruturas Condicionais
  • Estruturas de Repetição
  • Métodos
  • Orientação a Objetos
  • Coleções
  • Exceções
  • Manipulação de Arquivos
  • Talvez, Sockets possam ajudar na parte de redes
  • Banco de Dados
  • Relacionais (SQL/MySQL)
  • Não Relacionais (MongoDB)
  • Persistência (JPA)
  • Redes de Computadores
  • Solicitações Http (Get, Post, Delete)
  • Projeto M.V.C
  • Model-View-Controller
  • Gerenciamento de Dependências
  • Maven
  • Gradle
  • Ambiente de Desenvolvimento (IDE)
  • Eclipse, Netbeans, IntelliJ
  • Segurança de Dados Web (Autorização e Autenticação)
  • Confidencialidade
  • Integridade
  • Disponibilidade

Depois dessa jornada, conhecendo os elementos, você pega o Spring Boot, que possui os conceitos de inversão de controle(Ioc) e injeção de dependência, e você pode misturar tudo isso, de forma mais simples, prática e produtiva.

Não vou mentir que a curva de aprendizado é grande, mas é estimulante também. Imagine ter uma aplicação web, totalmente criada por você, sendo acessada por vários usuários. Legal, né?!

É claro que podemos criar aplicações web sem o Spring Boot, mas, ele chegou para facilitar. É uma ferramenta que podemos decidir agregar valor a nossa stack ou não.

Se você está aprendendo tudo e ainda não viu um caminho, acredito que agora ficará mais claro.

Espero que curta e potencialize seu aprendizado.

Gostou dessa visão?

Chama lá no LinkedIn: https://www.linkedin.com/in/olivalpaulino/

Inscreva-se no Canal do Youtube e tenha acesso a aulas gratuitas de Java e JavaScript: https://www.youtube.com/@olivalpaulino/playlists

Compartilhe
Comentários (1)
Bryan Soares
Bryan Soares - 04/03/2023 18:25

Excelente conteúdo sobre o SpringBoot, eu estava curioso sobre o uso do Spring Boot para desenvolvimento de apps de micro serviços para Android, se puder lançar um artigo sobre iria adorar.