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