Intensivão Java Spring
Treinamento gratuito
- Crie um projeto para seu currículo
- Descubra o caminho para se tornar um
desenvolvedor back end profissional
Aula 1
https://devsuperior.com.br
Dr. Nelio Alves
2
Parabéns!
Por estar na jornada da profissão que
nos proporciona:
- Transformar nossa vida
- Mais remuneração
- Mais liberdade
- Mais segurança para a família
2
Quem sou eu
Nelio Alves
- Professor universitário 2001-2020
- Mestrado e Doutorado Eng. Software
- Top 1 Udemy Português desde 2021
- 330k+ alunos
- Desenvolvedor
Também tive problemas no início...
- Esquecer teoria
- Falta de prática
- Juntar as partes: app
Hoje:
- Excesso de informação
2
Nosso método
Método ERA: Estrutura de Real Aprendizado
2
Por que Java Spring?
1. Empregabilidade
https://www.linkedin.com
https://facebook.com/jobs
https://www.vagas.com.br
https://www.indeed.com.br
https://www.catho.com.br
Dica: site da empresa
https://www.linkedin.com/jobs/search/?geoId=106057199&keywords=java
2. Flexibilidade
- Presencial
- Remoto
- Híbrido
- Exterior
3. Remuneração (geral)
Média salarial por nível (2023):
Estágio: R$ 1.622,80
Júnior: R$ 3.987,43
Pleno: R$ 8.023,44
Sênior: R$ 15.510,34
Fonte: Pesquisa Código Fonte TV
https://pesquisa.codigofonte.com.br/2023
2
Avisos
1. Perdeu algum episódio ou material de apoio?
Inscreva-se para receber no seu email:
https://devsuperior.com.br
ATENÇÃO: os conteúdos ficarão disponíveis somente até
domingo. Então organize-se, e bora pra cima!
2. Tem alguma dúvida?
Envie uma mensagem pra gente no email que chegou pra
você no ato da sua inscrição.
CALENDÁRIO
Os conteúdos ficarão temporariamente disponíveis no nosso
canal de eventos. Ative o lembrete:
https://www.youtube.com/@DevsuperiorJavaSpring
Dia / horário Conteúdo
Segunda-feira 20h30 Episódio 1: Projeto estruturado
Terça-feira 20h30 Episódio 2: Domínio, consultas
Quarta-feira 20h30 Episódio 3: Deploy CI/CD, CORS
Quinta-feira 20h30 Episódio 4: Endpoint especial
Sexta-feira 20h30 Episódio 5: Resumão e conclusão do
aprendizado
2
Sistemas web
Back end + banco de dados Front end
(servidor) (navegador) (cliente)
Recursos web
requisições web
Linguagens (HTTP/JSON) Linguagens
Java HTML/CSS
SQL JavaScript
Framework Framework / lib
Spring Boot ReactJS
Banco de dados
H2
Postgresql
API Rest
Front end (HTML/CSS/JS)
GET https://meusistema.com/produtos
requisições web POST https://meusistema.com/produtos
(HTTP/JSON) {
"nome": "Computador",
"preco": 3000.0
}
API
Back end + banco de dados
(servidor)
API Rest
Padrão Rest
• Cliente/servidor com HTTP
• Comunicação stateless (*)
• Interface uniforme, formato padronizado (*)
• Cache
• Sistema em camadas
• Código sob demanda (opcional)
https://www.redhat.com/pt-br/topics/api/what-is-a-rest-api
Padronização
GET https://meusistema.com/buscar-produto/5
INCORRETO
GET https://meusistema.com/deletar-produto/5
GET https://meusistema.com/produtos
GET https://meusistema.com/produtos/5
POST https://meusistema.com/produtos
{ ... } CORRETO
PUT https://meusistema.com/produtos/5
{ ... }
DELETE https://meusistema.com/produtos/5
Padrão camadas
Passos
- Baixar projeto referência pronto:
https://github.com/devsuperior/dslist-backend
- Criar projeto / lib Maven
- Salvar no Github
- Arquivos Properties, entidade Game, ORM
- Seed dos games
- GameMinDTO, GameRepository,
GameService, GameController
Revisão
O que você aprendeu:
• Conceitos
• Sistemas web e recursos
• Cliente/servidor, HTTP, JSON
• Padrão Rest para API web
• Estruturação de projeto Spring Rest
• Entidades e ORM
• Database seeding
• Padrão camadas
• Controller, service, repository
• Padrão DTO