Springboot em 1 hora- Curso para inciantes — Transcript
Full transcript
- 0:00tu quer aprender a programar desde o
- 0:01absoluto zero com mais de 30 horas de
- 0:03cursos Só usando exemplo de Naruto Tá
- 0:05chegando o batismo de Java O link tá na
- 0:06descrição não perde essa oportunidade
- 0:08não vamos lá vamos começar um guia
- 0:10politicamente incorreto para tu aprender
- 0:12Spring das ruas eu já te expliquei Java
- 0:14das ruas num vídeo de uma hora onde te
- 0:17explico desde a primeira linha de Java
- 0:19até ali passando por orientação objeto
- 0:22expliquei uma porrada de coisa em Java
- 0:24agora vamos aprender sobre Spring
- 0:25belezinha então faz o seguinte primeira
- 0:27coisa que você precisa a única na
- 0:28verdade que você precisa é ter um q um
- 0:31pouco acima de um macaco prego tem uma
- 0:34cerveja que é sempre bom Inclusive eu
- 0:35vou abrir a minha aqui nessa [ __ ] pra
- 0:37gente aprender em uma hora e ter o
- 0:39intelij porque quem usa qualquer outra
- 0:42ideia a não ser o intelij é um grande um
- 0:46corno então vamos começar primeira coisa
- 0:49vem no Google aqui start web você vai
- 0:53entrar nesse sitezinho aqui que é o
- 0:54Spring initializer o que que é o Spring
- 0:56initializer algum corno criou isso daqui
- 0:59que é uma maneira da gente inicializar
- 1:01os nossos projetos Spring e o que que é
- 1:03o Spring só para começar para tu tem um
- 1:05C um macaco só PR te adiantar aqui cara
- 1:08o Spring a gente usa toda vez que a
- 1:10gente quer criar uma aplicação Java tá
- 1:12ligado então se eu quiser criar uma
- 1:14aplicação bancária para fazer uma grande
- 1:16de uma pirâmide eu não vou usar Java
- 1:18Core que é o Java puro ali eu vou usar
- 1:21Spring E aí para isso que serve Spring e
- 1:24o Spring nicher ele vai ajudar a gente a
- 1:26criar o nosso projeto por exemplo eu
- 1:30tenho lá o meu curso de programação que
- 1:31é o Java 10x e aqui no group eu
- 1:36começaria colocando aqui o nome da da
- 1:38organização aqui né que seria Java 10x
- 1:41Opa Java
- 1:4310xd só que a gente tem uma convenção da
- 1:47gente colocar o valor contrário Então
- 1:50seria
- 1:50d. j1x outra coisa que a gente vai
- 1:54precisar What fact watch effect é o nome
- 1:56do teu projeto poderia ser uma e eh é
- 2:01pirâmide financeira é um grande de um
- 2:05projeto mas a gente vai fazer aqui um
- 2:06projeto onde a gente vai cadastrar sei
- 2:08lá comida tá ligado Então vamos fazer um
- 2:11projeto de cadastrar comida aqui a gente
- 2:12vai botar aqui de chamar isso daqui de
- 2:15frit freit vai ser o nome do meu projeto
- 2:19porque é freezer em inglês caso você não
- 2:21saiba a gente vai usar miva e a gente
- 2:24tem algumas opções aqui a gente pode
- 2:25usar gradle com cotlin e gradle com
- 2:28Groove e o que que é o grav e pode usar
- 2:31maven também o que que é o grad o que
- 2:32que é o maven Eles são gerenciadores de
- 2:35dependência pensa na dependência tipo
- 2:38Chrome sabe o Google Chrome que você
- 2:39pode pegar extensão é mais ou menos por
- 2:42aí que acontece cara só que tanto o
- 2:44Groove quanto maven eles vão meio que
- 2:47controlar essas porcarias dessas
- 2:49extensões que tu pega e vai ficar mais
- 2:51entendível quando a gente for direto pro
- 2:53projeto beleza mas a gente vai escolher
- 2:55maven a linguagem vai ser Java porque
- 2:58quem usa cotl em acordo e o aqui você
- 3:01não precisa mudar muita coisa não isso
- 3:03daqui é versão do Spring boot o nome do
- 3:05Projeto vai ser frit e ele botou aqui
- 3:08vai ser uma descrição vamos lá uma
- 3:10geladeira para
- 3:14cadastrar
- 3:16comida Beleza vai ser o packing vai ser
- 3:19um jar e a versão do Java que a gente
- 3:22pode usar vai ser a versão 17 Beleza a
- 3:25gente pode usar aqui a 21 a 23 mas eu
- 3:27vou botar a 17 e aqui a gente conecta as
- 3:31nossas dependências tem um botãozinho
- 3:32chamado AD dependencies dependencies e
- 3:35de dependência que a gente vai precisar
- 3:37vai ser a seguinte web Dev Opa web
- 3:42Spring web aqui Spring web a gente vai
- 3:46precisar uma outra dependência que a
- 3:48gente vai precisar se chama JPA e eu vou
- 3:51te explicar o que que é essa dependência
- 3:52é basicamente o JPA ele vai ajudar a
- 3:55gente a se conectar com o nosso banco de
- 3:57dados então Toda vez que você tiver que
- 3:58lidar com o banco de dados que é
- 4:0199.9999 por das vezes das tuas
- 4:04aplicações você vai usar alguma coisa
- 4:06parecida para gerenciar essas conexões
- 4:08ali com banco de dados Beleza então a
- 4:10gente Opa JPA Então a gente vai pegar
- 4:13aqui o JPA outra coisa que a gente vai
- 4:16precisar vai ser a gente pode pegar o
- 4:18long boock porque o long boock vai
- 4:20ajudar a gente a diminuir um pouco o
- 4:22código e como a gente quer fazer tudo
- 4:24isso daqui em uma hora bem rapidinho
- 4:25para você aprender porque sou é burro
- 4:26para [ __ ] e ainda é precoce a gente
- 4:29vai eu vou passar superficialmente no
- 4:31que é o l boock o l boock e deixa eu ver
- 4:33outra coisa que a gente precisa
- 4:35ah Talvez seja isso por hora deixa eu já
- 4:38peguei o Web Dev já peguei o Spring eh
- 4:41Spring web e pegar aqui o Dev Opa Dev
- 4:45Tools Spring Dev Tools também pra gente
- 4:48ter um auto Reload Beleza então é só
- 4:51isso eu preciso do Spring web o JPA o LB
- 4:55e o Dev Tools outra coisa que eu vou
- 4:57precisar também é um banco de dados é a
- 4:59última coisa que a gente vai fazer e
- 5:01como é que a gente escolhe um banco de
- 5:03dados bom tu vê uma porrada de logo de
- 5:06banco de dados escolhe o banco de dados
- 5:08tem um logo mais bonitinho e usa ou eu
- 5:12você vai usar um banco de dados em
- 5:13memória que Teoricamente ele vai
- 5:15funcionar ali para projetos mais rápidos
- 5:17como a gente quer fazer tudo bem
- 5:18rapidinho a gente vai fazer aqui e você
- 5:20clica em gerar vamos lá a gente gerou
- 5:23uma vez com projeto aberto e eu vou
- 5:25tratar você como um grande de um gorila
- 5:27que não faz ideia tem que ir not que eu
- 5:30vi Gil não faz ideia do que esteja
- 5:31acontecendo aqui a gente tem que entend
- 5:34primeiro para que que serve essa
- 5:35porcaria
- 5:36aqui a gente abriu no intelij que é esse
- 5:41lugarzinho aqui é essa ideia que a gente
- 5:43vai trabalhar e todos esses arquivos
- 5:45aqui do Fridge eles estão eles vieram
- 5:48direto dos doter web aquela aplicação lá
- 5:52ele já criou tudo aqui PR mim ele já
- 5:53criou source e nesse source eu tenho
- 5:55Main eu também tenho os testes que eu
- 5:57vou poder criar testes a gente tem o
- 6:00github attributes a gente tem
- 6:03o o pom.xml e o que que é o pom.xml o p.
- 6:07XML nada mais é do que sabe aquelas
- 6:10dependências que a gente estava
- 6:11adicionando lá elas todas são colocadas
- 6:13aqui Inclusive a descrição do meu
- 6:15projeto tá aqui ó uma geladeira para
- 6:17cadastrar comida é isso aí e tudo tá
- 6:21aqui Inclusive a versão do meu projeto
- 6:23também tá aqui a versão que eu tô usando
- 6:25do próprio da da própria aplicação
- 6:28Spring tá aqui a gente também tem o
- 6:31group ID tá aqui o artifact que é o nome
- 6:35do do meu projeto que vai levar o meu
- 6:36projeto e todos as dependências que a
- 6:38gente baixou a versão do Java 17 e a
- 6:41gente baixou a dependência aqui do JPA
- 6:43do Starter web do Dev Tools e do H2
- 6:48Lembrando que eu tenho um curso também
- 6:49de programação o batismo de Java ele tá
- 6:51com matrículas abertas se você quiser o
- 6:53link tá aqui embaixo na descrição
- 6:55belezinha e eu explico muito mais muito
- 6:58mais detalhadamente como fona Spring
- 7:00boot muito mais a fundo projetos muito
- 7:02mais complexos Mas vamos lá cara
- 7:04primeira coisa que eu preciso que você
- 7:05faça pra gente criar uma aplicação que
- 7:09cadastra it que cadastrais na nossa
- 7:12geladeira primeira coisa que a gente
- 7:13precisa ter é um negocinho que a gente
- 7:15chama de mod e como é que funciona o Mod
- 7:18cara eu posso criar aqui um package
- 7:20então eu vim aqui bot direito no pack e
- 7:24o package é uma pastinha eu vou criar
- 7:26aqui Opa um mod
- 7:29e eu criei aqui um Model outra coisa que
- 7:31eu posso fazer é vir aqui e criar uma
- 7:33outra pastinha que se chama Controller
- 7:36que eu vou controlar o fluxo das
- 7:38requisições para essa pi aqui belezinha
- 7:42só que sabe uma dica maneira que eu
- 7:44posso te dar é o seguinte a gente pode
- 7:45deletar isso daqui por qu porque a gente
- 7:47vai ter que criar arquivos dentro dessas
- 7:50PES sabe um jeito que a gente pode fazer
- 7:52a gente pode vir aqui direto criar um
- 7:54novo Java Class e aqui a gente vai criar
- 7:57uma nova classe porém ela vai est dentro
- 7:59por exemplo a gente vai est dentro da
- 8:01pasta Model e aqui dentro a gente vai
- 8:03criar um arquivo chamado food e ponto
- 8:08ele já criou a pasta Model e já criou o
- 8:10arquivo food e a gente pode fazer isso
- 8:12com todos então vamos lá a gente vai
- 8:14criar um Controller e aqui Controller
- 8:17com dois L ponto aqui a gente vai ter um
- 8:20food Controller Ah outra coisa também
- 8:24aqui a gente teve um erro aqui porque eu
- 8:26botei com letra minúscula e botei com do
- 8:29D Então já fiz merda tô bêbado já F com
- 8:33dois o e com letra
- 8:36maiúscula os nomes das nossas classes
- 8:38eles vão levar letra maiúscula beleza e
- 8:43é isso outra coisa que a gente vai
- 8:44precisar é de um outro package e também
- 8:47de uma outra de uma outra coisa de uma
- 8:49outra Java CL Vamos criar um Java CL Na
- 8:52verdade ele vai est dentro do package
- 8:54service e ele vai chamar food
- 8:57service perfeito então então eu criei o
- 9:01Controller o é o service o Model e agora
- 9:05a última coisa que eu preciso pra gente
- 9:07terminar isso de mvc se chama
- 9:10repository repos Opa e cadê deixa eu
- 9:14criar um novo Java Class eu vou chamar
- 9:16isso aqui de
- 9:19repository pon
- 9:21e food
- 9:24repository e a gente criou um food
- 9:27repository aqui e o O que que significa
- 9:30essa merda aqui cara tu já ouviu falar
- 9:33um bagulhinho chamado mvc ou arquitetura
- 9:35por camadas elas funcionam mais ou menos
- 9:37assim cara já ouviu falar de arquitetura
- 9:39por exemplo arquitetura quando a gente
- 9:41fala de programação é só um jeito como o
- 9:44fluxo da da informação das nossas
- 9:46aplicações vai passar de uma camada para
- 9:47outra e arquitetura por camadas a gente
- 9:50lida separando as responsabilidades
- 9:53Então a gente vai ter aqui numa camada
- 9:55por exemplo de Controller onde essa
- 9:57camada ela só vai ser responsável por
- 9:59controlar todas as minhas requisições
- 10:01então por exemplo se fosse o o cabaré
- 10:05que a tua mãe trabalha ela seria
- 10:07basicamente como porteiro que vai ver
- 10:09quem vai entrar ou não para comer a tua
- 10:12mãe belezinha e quem quiser entrar para
- 10:15comer tua mãe vai ter que entrar por uma
- 10:17portinha quem for pagar depois de ter
- 10:19comido a tua mãe vai por outra portinha
- 10:21para pagar e assim que funciona então
- 10:23por exemplo se a gente tá cadastrando
- 10:24aqui alimentos a gente vai ter um
- 10:26bagulhete por exemplo uma uma um caminho
- 10:30para cadastrar a gente vai ter um
- 10:32caminho para listar os alimentos
- 10:33cadastrados a gente vai ter outro
- 10:35caminho sabe Para quê PR gente talvez
- 10:38deletar um alimento que foi cadastrado
- 10:41tá ligado Então o Controller ele serve
- 10:43como um porteiro de um cabaré o cabaré
- 10:45que sustenta tua
- 10:49casa e o Model o Model funciona como a
- 10:53tua própria mãe por é o o objeto de ação
- 10:57quem tá quem tá sendo degustada não é
- 11:01sua mamãe que está no Cabaré bom o
- 11:05Controller ele dá a indicação de qual
- 11:07caminho vai ter que ser percorrido para
- 11:10chegar até a sua deliciosa e de gustosa
- 11:13mãe poré porém a sua mãe ainda tem que
- 11:16existir como um objeto ali então ela é o
- 11:19Model o Model é o que a gente vai
- 11:21trabalhar o Model é o centro de tudo
- 11:24então ele é basicamente a minha regra de
- 11:26negócio máxima ali a minha entidade
- 11:28máxima do meu negócio por quê Porque
- 11:30nela eu vou ter que conter o nome a
- 11:32altura eu vou ter que conter a idade da
- 11:34tua mamãe vou ter que conter a cor dos
- 11:36olhos da tua mamãe então todas as
- 11:38informações básicas estão no meu modelo
- 11:41no meu
- 11:41Model belezinha então o Controller ele é
- 11:45o porteiro do cabaré o Model é sua mamãe
- 11:48e o que que seria por exemplo o service
- 11:51bom o service é o lugar que a gente vai
- 11:54colocar as ações que a gente vai poder
- 11:56fazer em cima daquele Model bom o que
- 12:00que eu vou poder fazer com a sua mãe aí
- 12:02eu não vou falar a informação mas a
- 12:04imaginação vai longe mas eu poderia
- 12:06fazer coisas como dar flores pra sua
- 12:08mamãe então posso ter uma função de dar
- 12:10flores pra sua mamãe e essa função de
- 12:13dar flores pra sua mamãe ela é colocada
- 12:15no service porém quem quiser dar flores
- 12:18para a sua querida mamãezinha ele vai
- 12:20ter que achar a rota lá no Controller Ah
- 12:24então é assim que
- 12:27funciona então
- 12:29todas as minhas regras de negócio elas
- 12:32são colocadas no
- 12:34service todas as minhas rotas para eu
- 12:38colocar essas regras de negócio para eu
- 12:40acionar essas regras de negócio elas são
- 12:42dadas pelo Controller e quem é o o
- 12:46causador disso tudo objeto que recebe a
- 12:49ação é o Mod e o que que seria o
- 12:52repositório o repository ele nada mais é
- 12:55do que o contador para ver quantas
- 12:57pessoas entraram no quarto para dar
- 12:58flores pra sua mamãe então a gente vai o
- 13:01repositório ele vai conectar com o banco
- 13:02de dados que vai persistir esses dados
- 13:05Então ela também é chamada de camada de
- 13:07persistência por qu porque é persistido
- 13:10os dados Como é que vai o o o senhor
- 13:13agenciador de sua mamãe vai fazer a
- 13:16contabilidade no final do mês se ele não
- 13:18souber Quantas pessoas entraram naquela
- 13:21noite para acariciar degustar a sua
- 13:23querida mamãe então o repositório Ele
- 13:26trabalha nessa Nesse quesito E aí a
- 13:29gente pode fazer primeira coisa que a
- 13:30gente vai fazer aqui cara vamos
- 13:31cadastrar comida o Model de novo ele é o
- 13:35meu modelo vamos cadastrar comida e aí
- 13:37tem um negocinho que a gente tem no
- 13:38spring que se chama annotation e toda
- 13:41anation começa com arroba quando a gente
- 13:43tá tratando de Model uma anation muito
- 13:46forte que a gente usa e PR mim cortar
- 13:48bastante caminho aqui mas uma anation
- 13:50bastante forte que a gente usa é o
- 13:51entity por ele vai dizer que isso daqui
- 13:54é uma entidade no meu banco de dados ele
- 13:56vai dizer que toda essa classe aqui ela
- 13:59vai ser
- 14:01persisti lá na minha camada de
- 14:04repository que vai por sua vez se
- 14:06conectar com o meu banco de dados então
- 14:08a gente tá dizendo com essa notation que
- 14:11a entidade isso daqui é uma entidade no
- 14:14banco de dados então tudo que eu colocar
- 14:16aqui então se eu colocar aqui cor do
- 14:18olho Se eu colocar aqui altura Se eu
- 14:21colocar aqui sei lá qualquer coisa desse
- 14:23tipo vai ter uma tabela no meu banco de
- 14:27dados com uma coluna pra cor do olho uma
- 14:29coluna pra altura uma coluna para
- 14:31qualquer coisa que eu colocar aqui
- 14:33belezinha Então essa anation serve para
- 14:36isso ah eu nunca soube para que que
- 14:38serviu uma anation só tem essa anation
- 14:40não você tem outras cara você tem uma
- 14:42porrada de an notation pode passar o
- 14:44dias estudando anation tem uma maneira
- 14:47também chama table cara sabe o que que
- 14:49essa anation fala bom a entity fala que
- 14:52ela é uma entidade no meu banco de dados
- 14:54e vai criar uma tabela e o que que a
- 14:55notation table faz se você fez [ __ ]
- 14:57qualquer bosta de um curso de inglês
- 14:59você sabe que um The books on the table
- 15:01é o livro tá em cima da da mesa o table
- 15:05ele nada mais é que aquela aquela
- 15:08tabelinha Lá do banco de dados ela vai
- 15:10ter que ter um nome então a gente pode
- 15:11botar aqui ó table name e passar aqui
- 15:14qual vai ser o nome dessa tabela a gente
- 15:16pode passar aqui qual é o nome dessa
- 15:17tabela pode ser food e food table food
- 15:23table mas não é obrigatório não preciso
- 15:26dar nome pra tabela se eu quiser se eu
- 15:28quiser deixar ela sem nome ela fica lá
- 15:30vai ter um nome genérico mas eu vou
- 15:32botar aqui outra coisa que a gente pode
- 15:34fazer bom se você não viu a minha aula
- 15:36sobre Java das ruas eu já te mostrei
- 15:38como é que funciona classes como é que
- 15:40funcionam objetos como é que se declara
- 15:41eh variáveis o que que é Private o que
- 15:44que é string o que que é é
- 15:46encapsulamento o link tá aqui em cima
- 15:49belezinha e se você quiser mais
- 15:50aprofundamento tem o meu curso de Java
- 15:52que é o batismo de Java mais de 30 horas
- 15:54de conteúdo inclusive usando a
- 15:56inteligência artificial nos nossos
- 15:57projetos Spring se você quiser mais
- 16:00aprofundamento belezinha Mas a gente
- 16:02pode declarar que nossas nossas coisas a
- 16:04gente tem o Fruit bom a gente vai
- 16:06cadastrar comida o que que eu preciso
- 16:07saber de comida vai ser o nome da comida
- 16:10outra coisa que eu preciso saber vai ser
- 16:13e a data de validade a quantidade e
- 16:17talvez é a data de validade e a
- 16:19quantidade tu concorda comigo que eu
- 16:21preciso saber disso então vamos lá cara
- 16:23tá ligado mas eu vou botar aqui em
- 16:25inglês Private name outra coisa que eu
- 16:27vou precisar fazer é é Private string
- 16:30name lembrando Eu já falei sobre string
- 16:32que é Long O link tá aqui em cima mais
- 16:34de uma hora de aula sobre Java básico
- 16:36isso daqui você já para est no spring
- 16:38você já tem que saber Java básic co que
- 16:39a gente tem é o é um integer integer pr
- 16:43quantidade quantity outra coisa que a
- 16:46gente tem data de inspiração cara então
- 16:48a gente pode botar aqui um Private é
- 16:50local date Opa é com l maiúsculo local
- 16:54daytime e a gente pode botar aqui a
- 16:56gente pode colocar aqui expiration
- 16:59perfeito Então eu tenho nome data de
- 17:01inspiração quantidade desses itens e
- 17:04deixa eu ver cara aí vem o negocinho
- 17:07quando você conecta algo ao banco de
- 17:09dados o banco de dados ele tem que ter
- 17:11uma ordem lógica se a gente tá usando um
- 17:14banco de dados sequencial um sequel tá
- 17:17ligado como a gente vai usar um H2 o que
- 17:20a gente vai precisar eu me aprofundo
- 17:22muito mais em banco de dados lá no nosso
- 17:24curso mas o que a gente vai precisar
- 17:26aqui para você saber é de um ID então eu
- 17:28vou ter que chegar aqui um Private eu
- 17:29posso botar do tipo long
- 17:31eh uma uma tabelinha uma uma coluna no
- 17:35meu banco de dados chamada ID só que aí
- 17:38vem o negócio das annotations a gente
- 17:40também precisa informar que isso daqui é
- 17:42uma é uma é uma coluna é uma coluna não
- 17:45perdão esse ID ele vai ter que ser
- 17:47gerado automaticamente porque quando eu
- 17:49fizer uma requisição eu vou ter que
- 17:51passar um ID eu não quero passar ID 1
- 17:52dois TR eu quero que o próprio Java
- 17:54cuide disso e como é que eu faço pro
- 17:56próprio Java cuidar disso bom eu uso a
- 17:58anotação ID simplesmente isso e outra
- 18:01coisa que eu tenho que fazer é passar
- 18:02uma estratégia para gerar esse ID Então
- 18:05posso botar aqui generate value E esse
- 18:08essa anation generate value ela só vai
- 18:10est falando olha isso daqui esse
- 18:13primeiro aqui ele é um id e a estratégia
- 18:16que você vai usar Então a gente vai
- 18:18passar aqui um strategy a estratégia que
- 18:21você vai usar para gerar esse ID aí você
- 18:24vai passar aqui o strategy E aí a gente
- 18:26vai chegar aqui ó generate type ponto
- 18:29identity a estratégia que você vai
- 18:32passar para gerar esse ID é a seguinte
- 18:34Toda vez que você adiciona um id e
- 18:37adicionar uma nova comida você vai fazer
- 18:40o seguinte ela vai partir do número um a
- 18:43próxima comida acrescenta mais um então
- 18:46se eu adicionei por exemplo tomate é o
- 18:49tomate vai ser o id1 se eu adicionar
- 18:51agora pepino o pepino vai ser o id1 mais
- 18:54um Então vai ser o o id2 é sequencial e
- 18:58se simplesmente isso a gente já tem toda
- 19:01a nossa o nosso Model aqui então eu
- 19:03tenho o meu Model que tem o meu ID o
- 19:06name eu tenho expiration date quantity e
- 19:09as coisas que a gente precisa já que são
- 19:11private a gente precisa getters e
- 19:13setters vamos criar getters e setters de
- 19:16novo se você não sabe o que que é isso a
- 19:18gente tem uma hora de aula aqui em cima
- 19:19é getters e setters e outra coisa os
- 19:22nossos construtores um Construtor cheio
- 19:25e eu posso criar um Construtor vazio
- 19:27aqui também só por mas eu não precisaria
- 19:29né mas só para criar um Construtor vazio
- 19:31aqui também Beleza então o meu Model Tá
- 19:34feito eu já posso fechar o meu Model eu
- 19:36também posso fechar o meu pom.xml e
- 19:39vamos lá cara uma coisa que a gente tem
- 19:41que fazer eh agora que a gente criou o
- 19:44nosso Model uma coisa que a gente tem
- 19:46que fazer é criar Talvez o nosso o nosso
- 19:49Controller Vamos criar o nosso
- 19:50Controller lembra do que que é o nosso
- 19:52Controller o nosso Controller ele é o
- 19:54porteiro do cabaré ele que vai dar as
- 19:56rotas Olha você quer fazer tal ação vai
- 19:59por essa rota aqui e para primeiro de
- 20:01tudo sempre que você tá inicializando
- 20:04aqui uma nova Java CL alguma coisa assim
- 20:06no spring você tem que ter uma anation
- 20:07para falar bom esse código serve para
- 20:10isso e aqui a gente tem uma anation para
- 20:12falar que isso aqui é um Controller que
- 20:13chama Rust Controller quando eu coloco
- 20:16essa notation de rest Controller o Java
- 20:19sabe o Spring sabe que tudo isso daqui é
- 20:21um Controller então a gente criou uma
- 20:24annotation de rest Controller e outra
- 20:26coisa que a gente precisa fazer é o
- 20:28seguinte agora o Spring sabe que isso
- 20:30daqui é um Controller porém agora eu
- 20:32quero que ele saiba que eu vou dar as
- 20:34rotas para ele
- 20:37seguir [ __ ] F Como assim dá as rotas
- 20:40para ele seguir o
- 20:43seguinte lembra do cabaré bom você quer
- 20:49fazer carinho na mãe Na mãe desse cara
- 20:51aí entra nessa porta aqui Ah você quer
- 20:54pagar depois de ter feito carinho
- 20:56degustar da mãe daquele cara ali então
- 20:59entra nessa porta aqui para pagar bom na
- 21:02nossa coisa na nossa aplicação de
- 21:04cadastro de comida se eu quiser
- 21:06cadastrar um novo alimento na minha
- 21:08geladeira eu vou PR essa rota aqui se eu
- 21:10quiser cadastrar um aquele alimento
- 21:11naquela geladeira eu vou PR essa rota
- 21:13aqui se eu quiser então entenda a gente
- 21:17vai poder fazer muita coisa aqui então
- 21:19vamos lá então eu tenho que primeiro
- 21:21listar E aí eu tenho outra anation para
- 21:23fazer essas rotas que eu posso botar
- 21:25aqui uma foi R Controller para falar que
- 21:27tudo aqui é um Controller e agora eu
- 21:29tenho uma request mapping porque você
- 21:32concorda comigo que isso daqui vai ser
- 21:33um mapa então o próprio nome diz é um
- 21:36request mapping vai ser eu vou mapear as
- 21:39rotas disso daqui no meu Controller eu
- 21:42posso mapear pro seguinte toda vez que
- 21:45aquele corno entrar lá em
- 21:48wwwcadastro
- 21:52comida.com.br
- 21:54barf eu vou passar uma rota para ele
- 21:59porque a rota vai começar no Barra food
- 22:02como a gente não tem um domínio salvo
- 22:05ainda por enquanto a gente tá lidando
- 22:08localmente no negócio que a gente chama
- 22:10de local host por enquanto a gente vai
- 22:13rodar tudo localmente então a gente não
- 22:15precisa de domínio então eu não vou
- 22:17botar mas quando a gente fizer o Deploy
- 22:19mais ou menos seria assim tá ligado
- 22:21Então quando bater no Barra food é que
- 22:23vai começar o meu mapa quando começar no
- 22:26Barra Food Vai começar o meu mapa e aqui
- 22:29a gente tem um negocinho bem legal mano
- 22:32bem legal bem legal Da Da de programação
- 22:34de Java que se chama injeção de
- 22:37dependência sabe por quê cara pensa
- 22:40comigo como uma camada se conecta com a
- 22:42outra Ah fiasão já sei tá tudo dentro da
- 22:46mesma porcaria do programa o programa
- 22:49que se vire para ele encontrar ó eu
- 22:51tenho um arquivo Controller aqui eu
- 22:52tenho um outro arquivo food aqui ele
- 22:55sabe que tá ali ele que se vire para
- 22:57encontrar eu tenho aqui um repository eu
- 22:59tenho aqui um service ele que se vire
- 23:01para se encontrar ali mas não funciona
- 23:03assim cara porque o o programa é tão
- 23:06burro quanto você então a gente precisa
- 23:09injetar o contexto de um no bumbum do
- 23:12contexto do outro cara Como assim bom
- 23:16Lembra que eu falei que o Controller ele
- 23:18é um porteiro do cabaré que dá apenas as
- 23:20rotas Mas ele não faz as regras Quem faz
- 23:23as regras do negócio o service se o
- 23:26service faz as regras do negócio
- 23:29as regras agora estão vazias concorda
- 23:31comigo concorda né porém deixa eu fechar
- 23:35só esse repository aqui o service agora
- 23:37tá vazio porém o que vai acontecer é que
- 23:40meu Controller ele vai precisar das
- 23:42regras que vem do Service e não adianta
- 23:45eu criar uma regra aqui que o Controller
- 23:47não vai saber então a gente precisa de
- 23:49um negócio que se chama injeção de
- 23:51dependência e como é que faz injeção de
- 23:54dependência cara a gente bota aqui um
- 23:56private a gente bota aqui um priv a
- 23:58gente pode colocar isso aqui como final
- 24:00e a gente simplesmente chama o service a
- 24:03gente vai chamar o food service bom
- 24:06Private final food service e eu posso
- 24:08chamar isso daqui do que eu quiser como
- 24:10por exemplo service ou então chamar de
- 24:12food service mas eu injetei a
- 24:15dependência isso daqui se chama
- 24:20injeção de
- 24:22dependência injeção de dependência aqui
- 24:25ele não importou tá injeção de
- 24:27dependência aí agora tu faz assim Caraca
- 24:29beleza eu inete a dependência então
- 24:31agora o Controller sabe que o service
- 24:34existe porém se eu passar o mouse aqui
- 24:36ele fala que a variável food service
- 24:39deve ser inicializada E aí o que que é
- 24:43inicializar uma variável bom como eu
- 24:45injetei uma uma dependência aqui tem
- 24:48algumas maneiras de eu inicializar essa
- 24:51dependência aqui uma delas é eu
- 24:54simplesmente chegando aqui deixa eu
- 24:57tirar só esse comentário por hora eu
- 24:59chegando aqui e usando uma anation eu
- 25:01posso usar uma anation de auto wired
- 25:04usando essa anation de autowired eu
- 25:06consigo injetar essa dependência outra
- 25:09maneira é o fazer o seguinte criando um
- 25:11Construtor toda vez que a gente cria um
- 25:13Construtor a gente consegue injetar a
- 25:15dependência via Construtor por quê
- 25:19Porque eu dei noção pro Controller que o
- 25:22service existe mas a realmente a injeção
- 25:25da dependência é via construt
- 25:28ou via annotation Opa ou via an notation
- 25:32do auto wired que ele vai se você
- 25:35traduzir para inglês autowired ele vai
- 25:38se auto sei lá se autorre referenciar
- 25:42belezinha ele vai saber que existe vamos
- 25:45lá agora o que que a gente precisa fazer
- 25:47bom a gente tem alguns métodos que a
- 25:48gente tem que eu já falei disso lá na
- 25:50nossa aula de uma hora e Inclusive eu
- 25:52falo lá no batismo de Java se você
- 25:54quiser fazer parte do batismo de Java 30
- 25:56horas de curso com exemplo de Naruto e
- 25:59ainda usando Spring boot também com
- 26:01projeto com inteligência artificial
- 26:03muito [ __ ] os projetos e sem sem
- 26:06enrolação você entra lá o link tá aqui
- 26:08embaixo na
- 26:09descrição mas a gente tem um negocinho
- 26:12que são as nossas requisições que é o
- 26:14get o post o [ __ ] e o
- 26:19delete são são as requisições que a
- 26:21gente pode fazer e para cada uma dessas
- 26:24requisições a gente tem as nossas
- 26:25anotações que a gente tem o get mapping
- 26:27a a gente tem o post mapping a gente tem
- 26:30o [ __ ] a gente tem delete mapping a gente
- 26:34tem um monte de coisa vamos começar pelo
- 26:35get mapping e o que que é o get mapping
- 26:38bom o get mapping ele nada mais é do que
- 26:40uma listagem eu listar todas as comidas
- 26:44que eu cadastrar aqui belezinha e como
- 26:46que eu fao isso B possar aqui criar fun
- 26:50criar um método eu posso chegar aqui e
- 26:52criar um método onde eu vou passar uma
- 26:53lista de comida opa
- 26:58food passando aqui e de onde vem esse
- 27:01food bom o food ele vem lá do meu Model
- 27:04eu tô referenciando o food aqui ele é
- 27:06uma lista de comida então todas as
- 27:08comidas cadastradas elas vão aparecer
- 27:10aqui e eu vou chamar isso daqui de get
- 27:12All ou mostrar todas as comidas
- 27:15cadastradas alguma coisa desse tipo e o
- 27:17que que eu vou ter que fazer bom lembra
- 27:19que no nosso service a gente vai ter
- 27:21métodos por enquanto tá vazio mas um dos
- 27:23métodos que eu vou ter lá no meu service
- 27:25100% de certeza eu vou retornar aqui o
- 27:28service Opa service ponto food service
- 27:33pon
- 27:36eh foodservice pget All só que ele tá
- 27:40dando erro aqui por vamos dar uma olhada
- 27:43ele tá dando erro aqui seria uma função
- 27:46ele tá dando erro porque ele não
- 27:48conseguiu achar um get All no food
- 27:49service sabe por quê Porque essa [ __ ]
- 27:51não existe então a gente tem que ir lá
- 27:53no food service abrir o food service e
- 27:55criar esse método e criar todos os
- 27:57outros que a gente vai ter lembrando ele
- 27:59tá buscando aqui na minha no meu
- 28:01Controller essa regra que é mostrar
- 28:04todas as comidas cadastradas Só que essa
- 28:06regra não existe e essa regra só vai
- 28:09existir quando a gente criar primeira
- 28:11coisa que a gente precisa fazer é passar
- 28:12uma anation de service do mesmo jeito
- 28:14que a gente passou uma anation de
- 28:15Controller aqui rest Controller aqui que
- 28:18a gente passa de service beleza
- 28:20belezinha outra coisa que a gente vai
- 28:21ter que fazer Bom vamos lá o que que a
- 28:24gente tem que fazer se aqui no
- 28:26Controller a gente se conecta ao service
- 28:29que tá puxando as regras aqui no service
- 28:32a gente faz as regras Mas quem se
- 28:35conecta com o meu banco de dados lembra
- 28:37quem é É o
- 28:39meu mas quem se conecta com o meu banco
- 28:42de dados Você lembra quem é É o meu
- 28:44repository o meu repository se conecta
- 28:47com o meu banco de dados mas o meu
- 28:48repository ele tá vazio nesse momento
- 28:50uma coisa que eu preciso fazer É
- 28:52estender ele e aí a gente usa a herança
- 28:55que a gente já falou no vídeo de uma
- 28:56hora eu vou deixar uma linkada aqui a
- 28:58gente vai estender ao JPA que é
- 29:01aquela que é aquela dependenci Zinha que
- 29:04a gente queria que a gente criou só que
- 29:07quando a gente cria um repository o
- 29:08repository ele não é uma classe ele é
- 29:11uma interface que precisa ser
- 29:14implementada e Ele estende ao JPA vamos
- 29:18dar uma olhada O que que tem dentro de
- 29:19JPA o JPA ele vai ajudar a gente em
- 29:22algumas coisinhas bem legais mas a
- 29:25principal delas é isso daqui ó o JPA lá
- 29:29dentro ele já tem aqui estendendo list
- 29:32crw repository Que [ __ ] é um list crw
- 29:35repository vamos dar uma clicada aqui
- 29:37cada vez mais bom a gente tem aqui ó
- 29:40find All find by id e a gente tem aqui
- 29:45crw repository bom find by ID exist by
- 29:48ID count delete by ID delete delete All
- 29:53o crw repository é simplesmente todas as
- 29:58operações básicas que a gente faz no
- 30:00banco de dados que é adicionar alterar
- 30:03listar listar por ID remover tudo isso
- 30:07já vem direto do JPA e é por isso que a
- 30:09gente só estende a gente não precisa
- 30:11fazer nada todas as queries já vem
- 30:13prontas aqui e tudo que a gente precisa
- 30:15fazer é transformar o food repository
- 30:17numa interface e estender o JPA e só
- 30:19isso a gente por enquanto não precisa
- 30:21mais tocar nisso e agora aqui no service
- 30:23a gente pode fazer a mesma coisa que a
- 30:24gente fez aqui no Controller que é
- 30:26injetar a dependência por quê Porque no
- 30:29service eu vou criar uma a caralha das
- 30:33regras só que as regras de salvar elas
- 30:36vão ter que ser salvas no banco de dados
- 30:39tá ligado que vem direto desse crw de
- 30:41repository do JPA então o que que a
- 30:43gente vai ter que fazer vai ter que
- 30:45chegar aqui um Private final e qual é o
- 30:48nome do nosso repository é food é food
- 30:52repository que eu vou chamar isso daqui
- 30:53de food repository e de novo eu posso
- 30:56via Construtor ou via
- 30:58Eu sempre faço via Construtor eu injetei
- 31:01isso daqui e agora por est injetado Eu
- 31:04tenho todas os métodos que estão direto
- 31:07do JPA aquele deleta o que salva o que
- 31:11encontra eu tenho tudo absolutamente
- 31:13tudo e sabe o que que eu posso fazer eu
- 31:15posso chegar agora cadê o meu service e
- 31:17criar um método Qual é o método que a
- 31:18gente tem que criar o primeiro aqui que
- 31:20é o get All vamos lá eu vou criar um
- 31:22método público
- 31:24[Música]
- 31:30eu vou criar um método público que vai
- 31:32listar todas as comidas do meu do meu
- 31:37banco de dados eu vou chamar isess daqui
- 31:38de get All Belezinha é o nome do meu
- 31:41coisa e esse daqui o que que ele vai
- 31:45fazer ele vai simplesmente retornar o o
- 31:49food repository ponto quando eu D um
- 31:52ponto olha quanta coisa tem aqui find
- 31:55All find All find All find All find All
- 31:57count exist find by ID get by ID delete
- 32:01delete All se eu botar delete ele vai
- 32:04deletar o o uma comida que tiver lá só
- 32:07que eu não vou querer deletar como eu
- 32:10quero um get All eu vou botar o find All
- 32:13e o que que esse método find All faz
- 32:15porque eu não crii esse método find All
- 32:17mas ele vai listar tudo que a gente
- 32:19passar aqui ele vai listar e ele vai
- 32:22fazer uma query no meu banco de dados
- 32:23para encontrar tudo que tá ali então
- 32:25simplesmente eu já fiz uma operação aqui
- 32:28sabe outra operação que eu posso fazer é
- 32:30a seguinte eu posso botar aqui é listar
- 32:33listar perfeito agora vamos lá listar
- 32:37Public food então é do tipo food que eu
- 32:40vou chamar isso daqui de save para
- 32:42salvar isso daqui no banco de dados
- 32:44perfeito e aí eu vou retornar
- 32:47simplesmente o food repository ponto
- 32:51Opa o food repository P save Opa que deu
- 32:55alum erro Cadê food repository Safe tem
- 32:58o método de salvar só que ele precisa de
- 33:00um argumento para salvar alguma coisa e
- 33:03se você entrar na documentação aqui você
- 33:05vai ver que a gente vai salvar mas a
- 33:07gente precisa de uma entidade de um
- 33:10modelo e o que que é esse modelo o que
- 33:12que é essa entidade bom eu vou salvar
- 33:14simplesmente passando no parâmetro aqui
- 33:16de salvar eu posso passar aqui um food
- 33:19chamar isso aqui de food e passar só
- 33:21para salvar a comida aqui então
- 33:24simplesmente eu vou est salvando a
- 33:26comida no meu banco de de dados aqui e
- 33:29aqui Faltou um ponto e vírgula então eu
- 33:32salvei ele aqui ó retornei e salvei ele
- 33:34como uma comida aqui mas se a gente
- 33:36passar o mouse aqui ele vai dar um erro
- 33:38aqui ó required food e foi provido
- 33:42objeto por quê porque se a gente voltar
- 33:45lá no nosso repository a gente vai ver
- 33:47que a gente tá estendendo a classe JPA
- 33:51mas a gente precisa dizer pra JPA duas
- 33:53coisas a primeira é a seguinte lembra
- 33:55que o JPA ele se conecta com o meu banco
- 33:57de dados e o meu banco de dados nesse
- 33:59caso aqui ele vai precisar de um ID o
- 34:01JPA Ele precisa saber de duas coisas a
- 34:04primeira coisa a gente bota aqui esse
- 34:05Diamond esse diamondz a primeira coisa
- 34:07que ele vai precisar saber é qual é a
- 34:09classe disso daqui que a gente tá
- 34:12tratando qual é o modelo bom a gente tá
- 34:14tratando do food o food é o meu Model
- 34:17Então posso dar uma vírgula a segunda
- 34:19coisa que ele vai perguntar é o seguinte
- 34:21se a gente passar o mouse aqui a gente
- 34:23vai ver
- 34:24que a gente vai precisar de um um
- 34:28identificador e o que que é um
- 34:30identificador bom se eu entrar lá no meu
- 34:32Model eu vou ver que o meu identificador
- 34:35é o meu ID aqui e ele vai precisar do
- 34:38tipo do meu ID que nesse caso aqui é um
- 34:41long Então a gente vai ter que passar
- 34:44aqui um long e simplesmente assim a
- 34:47gente passou a minha classe o meu Model
- 34:50e o tipo do meu identificador que é um
- 34:53long E aí ele parou de reclamar aqui no
- 34:55meu service quer ver ele parou de
- 34:57reclamar aqui no meu service então a
- 34:59gente já tem o método de listar a gente
- 35:00já tem o método de criar outro método
- 35:02que a gente pode fazer agora só pra
- 35:03gente colar algum tempinho é o de
- 35:06deletar Vamos fazer um método de deletar
- 35:08aqui é um Public void porque ele não
- 35:11precisa retornar
- 35:12nada só que ele vai precisar sim deletar
- 35:15então eu posso colocar aqui delete mas
- 35:17eu vou ter que passar o ID que ele vai
- 35:20deletar senão ele vai deletar a [ __ ]
- 35:21toda eu tenho que passar o [ __ ] do id
- 35:24por exemplo se você quiser deletar o uma
- 35:26um tomar por exemplo abrir a geladeira e
- 35:29pedir PR ele deletar o tomate você vai
- 35:31ter que passar o ID do tomate senão como
- 35:34é que ele vai saber que [ __ ] você
- 35:35quer deletar não tem como ele
- 35:38adivinhar Eu também não eu tenho duas
- 35:40bolas nenhuma é de cristal Então a gente
- 35:43vai deletar aqui mas passando o ID então
- 35:47passo aqui um long id e simplesmente eu
- 35:50não preciso retornar eu não preciso
- 35:51fazer absolutamente nada eu não preciso
- 35:54retornar nada aqui porque ele é void
- 35:56então só posso chegar aqui no food
- 35:59repository ponto e aqui delete só que eu
- 36:02vou ter que passar o ID na verdade aqui
- 36:05não é delete não é delete by ID perdão
- 36:09delete by ID passando o id o próprio JPA
- 36:13ele tem várias quinhas vários métodos
- 36:16que já vem pronto então eu já consigo
- 36:17listar eu já consigo criar Opa já
- 36:21consigo criar e eu já consigo deletar
- 36:24são três métodos que eu tenho e se eu
- 36:26voltar lá no meu Controller o que eu vou
- 36:27ver é que agora o erro já não tá mais
- 36:29aqui eu tenho get mapping listando todas
- 36:31as comidas da minha geladeira só que eu
- 36:34não tenho comida nenhuma cadastrada tu
- 36:36concorda comigo então vamos cadastrar
- 36:37uma comida aqui eu posso usar outra
- 36:39anation que é de post para fazer uma
- 36:41requisição do tipo post para postar para
- 36:44mandar isso pro meu servidor então eu tô
- 36:47mandando o get eu tô pegando no meu
- 36:49servidor então tô pegando uma rota para
- 36:51pegar as informações do meu servidor o
- 36:53post eu t uma rota para enviar
- 36:55informações eu chego aqui no post
- 36:58Public e é o Create é um método de criar
- 37:02Create só que vamos lá ele vai retornar
- 37:05ele vai ter que retornar aqui só que
- 37:07para criar tu concorda comigo que para
- 37:09criar eu vou precisar mandar
- 37:12informações Quais são as informações que
- 37:15eu vou precisar mandar bom vamos dar uma
- 37:17olhada no nosso model no nosso Model
- 37:19quais informações eu tô pedindo aqui um
- 37:22id não na verdade eu não tô pedindo o ID
- 37:24porque o ID vai ser gerado
- 37:25automaticamente mas eu tô pedindo um
- 37:27nome uma data de inspiração e uma
- 37:30quantidade são três coisas que eu tô
- 37:33pedindo nome data de inspiração e
- 37:36quantidade então para criar uma comida
- 37:38na minha geladeira eu vou precisar que a
- 37:41gente tenha um nome uma data de
- 37:44inspiração e uma quantidade lembrando Eu
- 37:47tenho um curso de Java que é o batismo
- 37:50de Java ele tá aqui embaixo na descrição
- 37:52e você pode acessar ele para ter mais
- 37:54informações realmente para aprender
- 37:56Spring mais a fundo aqui a gente tá
- 37:57arranhando a superfície tem várias
- 37:59maneiras da gente fazer a mesma coisa
- 38:01mas aqui para botar tudo em uma hora
- 38:03rapidinho a gente tá arranhando a
- 38:04superfície belezinha se você quiser mais
- 38:06profundidade projetos utilizando
- 38:08Inteligência Artificial tudo isso dá uma
- 38:10clicada aqui embaixo no link que tá na
- 38:12descrição na no comentário fixado também
- 38:14que você vai direto pro batismo de Java
- 38:16as vagas estão
- 38:18abertas e a gente vai ter o Create ele
- 38:20vai ter que ter ele vai ter que ter
- 38:22então um nome do produto Então sei lá o
- 38:25tomate vai ter que ter um nome a data de
- 38:27insira automática vai ser dia 27 de
- 38:29fevereiro de
- 38:312025 e o outra coisa que a gente vai
- 38:34precisar é quantidade vão ser 10 tomates
- 38:36perfeito então o que você tem que saber
- 38:39é que a gente vai ter que passar no
- 38:40corpo da nossa requisição Então a gente
- 38:43tem outra anation no spring a gente tem
- 38:45muito anation e tudo isso a gente tem no
- 38:46nosso curso para você entender a gente
- 38:48vai ter outra anation de
- 38:51request Body E do mesmo jeito que o
- 38:54request mapping aqui ele vai mapear o o
- 38:57request mapping ele o request Body
- 39:00perdão ele vai pedir PR você mandar no
- 39:02corpo da requisição
- 39:04é o ele vai pedir para você mandar no
- 39:07corpo da requisição o nome a data de
- 39:10inspiração e a quantidade e você
- 39:12concorda comigo que o nome a data de
- 39:14inspiração e a quantidade eles Na
- 39:16verdade são o food então a gente aqui no
- 39:20request Body Opa no request Body a gente
- 39:23vai pedir um food food que a gente vai
- 39:27chamar isso aqui de food E aí agora a
- 39:29gente vai do mesmo jeito aqui vai chegar
- 39:31no food service food Opa food service e
- 39:35acessar o método que a gente criou que
- 39:37foi o de salvar por quê Porque ele vai
- 39:40pegar essa esse a informação que foi
- 39:44enviada aqui no corpo da requisição e
- 39:46vai salvar e a gente passou como
- 39:48parâmetro aqui o corpo da requisição a
- 39:50gente vai salvar o quê o food Só faltou
- 39:52o ponto e vírgula aqui então a gente
- 39:55criou aqui o food então agora a gente
- 39:58consegue listar e a gente consegue criar
- 40:01e vamos tentar fazer um negócio Vamos
- 40:04tentar conectar a nossa aplicação vamos
- 40:06lá cara e se eu der Run na minha
- 40:08aplicação o que que vai acontecer Vamos
- 40:10tentar dar Run na nossa aplicação bom
- 40:12mas antes de dar Run na nossa aplicação
- 40:14uma coisa que a gente precisa saber é o
- 40:16seguinte a gente tá listando a gente tá
- 40:19salvando Deixa eu te perguntar a gente
- 40:22tá salvando aonde a gente tá listando
- 40:25puxando essa informação de onde par
- 40:27parceirinho tu não faz ideia eu também
- 40:29não porque eu não botei banco de dados
- 40:31nenhum nessa [ __ ] bom mas lembra lá do
- 40:34start web que no no start.on spring
- 40:37dorao que a gente colocou lá um
- 40:39negocinho chamado H2 para banco de dados
- 40:43bom já que tá lá na dependência se a
- 40:45gente chegar aqui na nosso p. XML Cadê
- 40:48H2 aqui ó H2 se tá aqui na dependência
- 40:51essa [ __ ] tá funcionando o banco de Dad
- 40:53já tá já tá aí não funciona muito bem
- 40:55assim por quê Porque a gente precisa que
- 40:57criar uma senha pro banco de dados a
- 40:59gente precisa criar um nome pro banco de
- 41:01dados bom o nome pro banco de dados não
- 41:04seria aquilo que a gente criou lá no
- 41:05nosso Model aqui não isso daqui é uma
- 41:10tabela no meu banco de dados aqui a
- 41:13gente criou uma tabela só que o banco de
- 41:17dados em si não existe um banco de dados
- 41:19pode ter múltiplas tabelas isso daqui é
- 41:23uma tabela no banco de dados e ela não
- 41:25existe e como é que a gente cri o banco
- 41:28de dados não existe ainda e como é que a
- 41:29gente cria o banco de dados bom a gente
- 41:31vai vir aqui em resources aqui embaixo
- 41:33Aqui a gente vai vir em application
- 41:35properties e eu posso mudar esse nome
- 41:37aqui se eu quiser posso mudar para
- 41:40application
- 41:41pemo e a gente fala da diferença do Emo
- 41:45pro properties lá no batismo de Java
- 41:48onde a gente vai fundar muito mais em
- 41:50programação usando só exemplos de Naruto
- 41:53desde a primeira linha de código até a
- 41:55gente saber complexidade de algoritmos
- 41:57até a gente fazer uma introdução muito
- 41:59mais aprofundada em Spring boot até a
- 42:01gente ir para um projeto muito maneiro
- 42:03para [ __ ] básicamente igual esse que a
- 42:06gente tá criando aqui só que usando chat
- 42:08GPT a gente conecta um projeto muito
- 42:10parecido com esse muito mais
- 42:12detalhamento usando chat GPT fica
- 42:14maneiro para [ __ ] onde você cadastra
- 42:16comida e o chat GPT te dá uma receita
- 42:19baseada na comida cadastrada no teu
- 42:21banco de dados maneiro para [ __ ] Se
- 42:23você quiser o link tá aqui embaixo na
- 42:24descrição mas a gente tá aqui com . yemo
- 42:28uma coisa que eu vou fazer é o seguinte
- 42:29eu vou deixar aqui embaixo uma descrição
- 42:32de uma receitinha de bolo para você
- 42:35colocar aqui no application.on eu não
- 42:37vou perder muito tempo explicando porque
- 42:39vai fugir da premissa de botar tudo aqui
- 42:40em uma hora mas de maneira geral eu vou
- 42:43deixar aí todas as configurações aí
- 42:44embaixo a gente vai estar se conectando
- 42:46a um banco em memória chamado
- 42:48e banco chamado H2 e esse banco em
- 42:51memória vai ter um o nome do banco de
- 42:53dados vai ser teste DB que vai ser um
- 42:56banco de teste username vai ser sei lá
- 42:59vou botar aqui fiasco a senha não vai
- 43:01ter senha e todo o resto aqui é apenas
- 43:05isso vamos lá agora a gente pode tentar
- 43:07dar um Run aplicação vamos Eu dei um Run
- 43:10aplicação vamos dar uma olhada e ele
- 43:14subiu minha aplicação e vamos ver o que
- 43:16que ele fala aqui no nosso log quando
- 43:18ele sobe ele vai aparecer o seguinte a
- 43:20primeira vez que a gente subiu Nossa
- 43:22aplicação [ __ ] pega uma cerveja
- 43:26[ __ ] quando a gente sobe uma aplicação
- 43:28Spring nessa [ __ ] a gente sobe aqui com
- 43:31o logoz inho do Spring falando a versão
- 43:33que a gente tá usando que é o
- 43:343.43 só que se a gente for dar uma lida
- 43:37aqui a gente vai ver que aqui embaixo
- 43:40mano aqui embaixo aqui embaixo ó a gente
- 43:42tem um negócio chamado H2 console
- 43:44available no Barra H2 console a gente
- 43:48tem o Tomcat startou na porta 880
- 43:52lembrando Live Reload server lembrando
- 43:55isso daqui é apenas arranhando da
- 43:57superfície a gente tem como melhorar
- 43:59muito o projeto e a gente melhora muito
- 44:00o projeto lá dentro do batismo de Java
- 44:03se você quiser o link tá na descrição e
- 44:05cada parte disso aqui Foi explicado o
- 44:06que que é o JPA o que que é o hibernates
- 44:08o que que é um ORM tudo isso mas como a
- 44:11gente quer manter tudo aqui em uma hora
- 44:13a gente tem um negócio chamado H2
- 44:15console de qualquer maneira o frej o
- 44:18freid application inicializou em 1.93
- 44:21segundos e ele tá rodando cara e o que
- 44:24que onde que ele tá rodando Vamos tentar
- 44:26dar uma olhada aqui vamos tentar
- 44:28inicializar aqui vamos
- 44:31lá botar aqui é qual a porta que ele tá
- 44:34usando se a gente for dar uma olhada
- 44:36aqui ele tá usando a porta 8080 Então
- 44:39vamos no local host
- 44:428080 local host 2.
- 44:458080 barra e aí a gente coloca aqui
- 44:48barra H2 traço console quando a gente
- 44:50clicar aqui o que que a gente tem a
- 44:52gente tá dentro da tela de login do
- 44:56nosso banco de de dados do nosso e olha
- 44:59que maneiro se eu tô dentro do meu banco
- 45:01de dados cara olha que legal que eu
- 45:03consigo fazer aqui Opa Deixa eu só
- 45:05mostrar aqui cadê ó que legal que eu
- 45:07consigo fazer aqui cara eu tenho aqui do
- 45:09lado eu tenho aqui do lado
- 45:12o uma paradinha PR food table cara e
- 45:17olha esse food table quando eu clico
- 45:18aqui ele aparece um select from food
- 45:20table Se eu der um Run eu vejo aqui que
- 45:23eu tenho expiration Date a quantidade o
- 45:26id e e o nome então todo aquele meu
- 45:30Model eu tenho aqui dentro Como assim
- 45:33meu Model fiasão cara aqui aqui cadê
- 45:36cadê cadê meu Model [ __ ] cadê cadê
- 45:39cadê cadê meu Model aqui food eu tenho o
- 45:41id o o name expiration date e a
- 45:44quantidade e lembra que eu chamei a
- 45:47tabela de food table vamos dar uma
- 45:49olhada no que que a gente tem lá eu
- 45:51tenho food table deixa eu dar um Run e
- 45:54aqui eu tenho expiration date quantity
- 45:57ID name expiration date quantity ID name
- 46:01eu tenho tudo absolutamente aqui dentro
- 46:05do meu banco de dados então quando eu
- 46:07for salvar ele vai salvar tudo aqui
- 46:11quando eu for buscar ele vai buscar tudo
- 46:13aqui e agora o que que a gente pode
- 46:16fazer cara já que eu tô dentro da minha
- 46:17tabela sabe o que eu posso fazer eu
- 46:19posso fazer uma query eu vou deixar aqui
- 46:20embaixo na descrição também uma query
- 46:22pra gente fazer e eu vou te mostrar o
- 46:24que que é uma query é basicamente isso
- 46:25daqui ó eu tô indo eu tô inserindo então
- 46:28eu tô usando insert isso daqui é sequel
- 46:31que é uma linguagem também a gente fala
- 46:33sobre sequel também no batismo de Java
- 46:36para [ __ ] então se você não sabe sobre
- 46:38siol quer aprender sobre banco de dados
- 46:40profundamente dá uma chance pro batismo
- 46:43de Java tá aqui embaixo na descrição é o
- 46:45melhor curso de programação Java que tem
- 46:46no Brasil belezinha todo ele foi dado
- 46:50usando só exemplo de Naruto do absoluto
- 46:52zero do início ao fim se você quiser
- 46:54realmente aprender Java sequel
- 46:58aprender spring spring ai usar
- 47:00integração com llms clica aqui embaixo o
- 47:03link tá na descrição as matrículas estão
- 47:05abertas e aqui a gente tem o insert into
- 47:09food table que é o qu que é o nome do
- 47:12meu banco de da minha tabela food table
- 47:16correto e a gente vai ter o name Opa
- 47:19Deixa eu só colocar aqui a gente vai ter
- 47:21o o name a gente vai ter expiration date
- 47:25e o quantity e o name botar Apple a data
- 47:28de inspiração coloquei essa daqui 10 de
- 47:30Março de 2025 que é o meu aniversário
- 47:33Teoricamente e a quantidade cinco quando
- 47:36a gente der um Run vamos ver o que vai
- 47:37acontecer bom ele falou aqui que ele
- 47:41adicionou atualizou a tabela bom ele
- 47:44atualizou a tabela mas foi PR onde essa
- 47:46[ __ ] vamos dar uma olhada aqui [ __ ]
- 47:48para onde que foi essa merda tem Apple
- 47:49cadastrada aqui a data de validade Se eu
- 47:52der uma outra query aqui deixa eu deixa
- 47:55eu fazer uma outra query Deixa eu só
- 47:57tirar um pouquinho do zoom Eh vamos ver
- 48:00que a gente pode cadastrar agora em vez
- 48:01de Apple a gente pode cadastrar
- 48:04tomato vamos cadastrar tomato e tem 20
- 48:08tomate Vamos tentar dar um Run aqui tá
- 48:11errada é food table eu errei o nome da
- 48:15tabela
- 48:16Beleza agora vamos tentar dar um Run na
- 48:19nossa aplicação e na
- 48:21nossa coisa aqui e eu tenho aqui agora
- 48:25dois itens cadastrados então eu consigo
- 48:28te mostrar que eu consigo listar e
- 48:31cadastrar por dentro do meu banco de
- 48:33dados cara mas outra coisa que eu posso
- 48:35fazer eu posso chegar aqui ó local host
- 48:388080 barra se eu chegar e acessar o
- 48:41Barra food o que que vai acontecer bom
- 48:45eu vou listar todos por quê Porque se eu
- 48:48entrar lá no Controller que é o
- 48:51controlador do cabaré vamos dar uma
- 48:53olhada O que que tem no Controller o
- 48:55Controller eu tenho aqui o barra food e
- 48:57o Barra food ele vai acessar o primeiro
- 49:00método ali que é o get Então se a gente
- 49:03V todos os itens listados estão aqui e
- 49:06se eu chegar agora aqui e adicionar uma
- 49:08outra coisa do tipo
- 49:10e já foi tomate já foi Apple agora eu
- 49:13vou botar Orange Orange só vai ter duas
- 49:17Orange vamos lá
- 49:19cadastrei beleza E agora se eu chegar e
- 49:22atualizar aqui será que vai entrar o id3
- 49:24vamos dar uma olhada o id3 entrou aqui
- 49:28também e sabe uma coisa que eu posso
- 49:30fazer agora a gente pode usar um
- 49:31negocinho chamado Postman também pra
- 49:34gente fazer requisições então se eu vier
- 49:37aqui no Postman eu posso criar aqui um
- 49:39novo grupo onde eu vou poder escolher
- 49:41aqui do ladinho as o tipo da requisição
- 49:43que eu quero fazer que é get para listar
- 49:46então eu posso listar aqui ele vai me
- 49:48listar o ID 1 2 TR então aqui ainda
- 49:52Escrevi errado escrevi Orange mas Orange
- 49:55tomato e Apple perfeito e se eu chegar
- 49:58aqui no post agora e quiser colocar
- 50:01alguma coisa tipo sei lá macarrão mesmo
- 50:04macarrão vou botar macarrão aqui a
- 50:06quantidade dois e o vencimento vamos ver
- 50:09se eu consigo fazer via Postman bom eu
- 50:11fiz via Postman e ele me devolveu aqui
- 50:14que foi cadastrado um status 200 então
- 50:17status ok foi cadastrado com id4 com o
- 50:20nome de macarrão a data de inspiração e
- 50:22a quantidade e se a gente listar aqui ó
- 50:25vamos tentar listar
- 50:27a gente listar agora a gente tem aqui o
- 50:30macarrão cadastrado E se a gente listar
- 50:32aqui pelo navegador vamos dar uma olhada
- 50:33o macarrão entrou aqui então fiz uma
- 50:36requisição por dentro do banco de dados
- 50:38que a gente quando a gente faz isso a
- 50:40gente chama de query quando a gente faz
- 50:42assim aí eu fiz uma query manual aqui e
- 50:45eu também fiz via Postman passando no
- 50:48corpo da requisição aqui usando o método
- 50:50post aqui no corpo da requisição eu
- 50:53passei o nome a quantidade e as
- 50:56inspiração daquilo ali então eu L dei da
- 51:00mesma maneira cara mas e agora eu errei
- 51:02ali o deu para ver que eu errei aqui o
- 51:05id3 eu quero deletar o id3 como é que eu
- 51:08faço bom eu venho aqui no método delete
- 51:11eu posso criar um método delete então
- 51:13tipo delete e eu posso deletar só que eu
- 51:17agora eu tinha feito aqui para vocês
- 51:19darem uma olhada a gente fez aqui eu não
- 51:21tinha feito coisa mas agora eu dei uma
- 51:23pausa aqui acabei fazendo que o método
- 51:25delit eu simplesmente botei um delete
- 51:28mapping passei aqui a URL do id e o o
- 51:33delete ele não precisa retornar nada e
- 51:35ele vai deletar quando eu passar um id e
- 51:38o ID vai ser passado aqui e eu vou
- 51:40mandar o ID na URL então vou passar aqui
- 51:43por exemplo o id3 Vamos tentar deletar e
- 51:46deu 200 perfeito e se eu listar agora ó
- 51:49o id3 ainda tá aqui mas agora se eu
- 51:51atualizar pedir para listar de novo cadê
- 51:52o id3 eu não tenho o id3 eu só tenho o
- 51:56ID 1 o id2 e o id4 e obviamente isso
- 52:00daqui é muito simplório a gente pode
- 52:02fazer muito mais coisas aqui como por
- 52:04exemplo e a gente pode por exemplo botar
- 52:07respostas customizadas aqui usando
- 52:09response Body a gente pode fazer coisas
- 52:12como por exemplo migration e tudo isso a
- 52:15gente faz lá dentro do do batismo de
- 52:18Java inclusive um dos projetos do
- 52:20batismo de Java inclusive um dos
- 52:23projetos do batismo de Java eu tô dentro
- 52:25do batismo de Java aqui um dos projetos
- 52:28é muito maneiro por quê Porque ele é
- 52:30literalmente mais ou menos o que a gente
- 52:31fez só que muito mais elaborado a gente
- 52:33fala aqui sobre o Web Flux sobre
- 52:35requisição assíncrona assincronismo como
- 52:38é que funciona isso daqui já é um
- 52:39projeto mais avançado como a gente vai
- 52:41conectar isso ao ao chat PT e a
- 52:44finalização do projeto só para vocês
- 52:45terem darem uma ideia olha como é que é
- 52:48o Projeto é literalmente assim a gente
- 52:50tá fazendo exatamente a mesma coisa aqui
- 52:53a gente tá cadastrando aqui a comida só
- 52:55que se você olhar aqui do lado a gente
- 52:58tem um botãozinho que a gente vai pedir
- 53:00pro chat GPT gerar uma receita baseada
- 53:03no que a gente tem E aí vamos lá ó eu
- 53:07cadastrei aqui ovos carne moída queijo
- 53:10presunto farinha e quando eu aperto lá o
- 53:13que que o xat PT faz bom vamos ele vamos
- 53:16ver o que ele sugere ó claro vamos
- 53:19preparar vamos ver o que xat PT sugere ó
- 53:21vamos preparar uma deliciosa carne de é
- 53:24torta de carne moída com queijo e tudo
- 53:26mais E aí baseado nos meus ingredientes
- 53:28do banco de dados ele gera uma receita
- 53:32então a gente conectou uma aplicação
- 53:34Spring que eu te expliquei aqui bem
- 53:35rapidinho Como faz mas aqui a gente faz
- 53:37de uma maneira muito mais profissional
- 53:39realmente mas a gente conectou essa
- 53:41aplicação Spring a o chat ept então a
- 53:44gente fala sobre sincronismo a gente
- 53:46fala sobre um monte de coisa legal que
- 53:48seria bem legal você dar uma olhada se
- 53:50você quiser aprender Java comigo a o
- 53:52momento é esse as vagas estão abertas se
- 53:55você quiser aprender Java desde o
- 53:57absoluto zero desde a primeira aula e
- 53:59lembrando todas as aulas são com
- 54:02temática de Naruto cara o batismo de
- 54:05Java ele é incrível Porque qualquer aula
- 54:07que você entra aqui por exemplo aula de
- 54:10sei lá herança aqui interfaces ou
- 54:12qualquer coisa desse tipo aqui você vai
- 54:15ver que todas as aulas elas levam a
- 54:17temática de Naruto todas as aulas aqui
- 54:20elas são completamente tem gráficos tem
- 54:22tudo trabalhar e aí a gente vai vai
- 54:25mostrando isso is durante por quê Porque
- 54:27eu quero que você entenda que
- 54:30visualmente dá para você entender então
- 54:32a gente usa a temática de Naruto para
- 54:34trabalhar coisas como herança como
- 54:36polimorfismo como encapsulamento coisas
- 54:39mais complexas como algoritmos a gente
- 54:41usa aqui também então se você quiser
- 54:43saber da enta se você quiser participar
- 54:44do batismo de Java a chance é essa se
- 54:47você quiser ser introduzido no mundo de
- 54:49Java conseguir a tua vaga clica no link
- 54:51que tá aqui na descrição as vagas estão
- 54:53abertas e se você quiser mais coisas
- 54:55assim só me acompanha aí eu espero que
- 54:57tenha te ajudado pelo menos a fazer esse
- 54:59projeto se você não teve nenhum contato
- 55:01com o Spring foi teu primeiro contrato
- 55:04foi teu primeiro contato e lembrando
- 55:06esse projeto dá pra gente melhorar muito
- 55:07mais conectando ele com inteligência
- 55:09artificial que a gente faz lá dentro do
- 55:11curso belezinha então deixa teu
- 55:13comentário aí se você gostou se não
- 55:15gostou se você quer que eu traga mais
- 55:16material assim a gente se vê numa
- 55:18próxima e tchau
About this transcript
This page contains the full transcript of Springboot em 1 hora- Curso para inciantes by Fiasco, generated from the public captions YouTube serves with the video. The transcript has 10,027 words across 1,340 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.