curso spring boot. java e spring boot. criar api spring boot. api no spring boot. api de farmacia.

1.11k views16437 WordsCopy TextShare
Do Back ao Front - Programação FullStack
Crie uma API Spring Boot com Java e MySQL, usando Spring MVC, Spring Data JPA, Spring DevTools, usan...
Video Transcript:
fala Dev no vídeo de hoje vai aprender a criar um api com Java e Spring boot e banco de dados MySQL para criar um sistema de crude de uma farmácia para isso a gente vai ter o roteiro aqui para que a gente comece com o pé direito aqui ó vamos descobrir qual é a versão do Java qual é a versão do springboot qual é a versão do banco de dados Quais as dependências nós vamos utilizar como é que a gente vai criar esse projeto Quais são os pacotes que a gente vai ter Antes de a
gente criar o projeto Quais são as classes que vai ter Antes de a gente criar no código Quais são as interfaces e qual o modo de conectar com o banco de dados beleza Só lembrando aqui que a gente vai utilizar a versão do Spring boot na versão 2.6.8 tem versões mais novas mas gente vai utilizar essa para seguir um padrão já que tem muito curso online muito bootcamp muita formação que o pessoal começa a pegar aí começa de qualquer jeito não sabe porque o pessoal não fala nem versão nem dados nem nada e aqui já
tô informando para você vai ser essa versão aqui se você quiser adaptar depois para utilizar outra versão eu vou mostrar aqui como você pode fazer isso o Java que a gente vai utilizar é a versão 17 e sendo que você pode utilizar outras versões mas tem que entender que tem independência do Spring que funciona com a versão específica do Java ou seja compatibilidade então se você mudar a versão pode ser que não pegue então se você seguir esse passo a passo aqui vai dar bom versão do banco de dados 8.0.37 posso utilizar a versão anterior
pode isso aqui é o único que não vai afetar tanto assim na hora de você utilizar mas esses dois aqui primeiro a o Spring boot e a versão do Java vai ser importante beleza mas eu tô usando essa daqui que é a mais nova do banco de dados mais SQL Quais as dependências do projet vai ter Spring web que é o mvc paraa gente criar as rotas Spring Dat jbh para para trabalhar com banco de dados relacionais e mapeamento objeto relacional e o Spring Dev tus que é para facilitar a reinicialização do projeto aqui a
única que é opcional aqui é essa se você não utilizar essa daqui Toda vez que você modificar qualquer coisinha no código e salvar ele vai ter que parar você vai ter que parar a aplicação manual e executar novamente você utilizar esse carinha aqui ele já faz esse auto Reload para você aí beleza voltando a gente vai utilizar isso aqui ó paraa criação do projeto um site que você pode acessar no Google chamado Spring n al que eu vou te mostrar o passo a passo onde a gente vai selecionar aqui as opções ó Java da linguagem
m gador de pacotes a versão do do Spring boot você percebe aqui que não tem outra daquela que a gente 2.6.8 tem a mais que a 3.3.1 na gravação desse vídeo mas a gente vai selecionar esse daqui só para criar o projeto e lá no projeto a gente vai modificar só essa linha de código para a gente não tenha que criar tudo do zero nome do grupo do back é o front que é o nome do canal artefato é farmácia a gente tem uma noção que vai ser tipo um projeto do back of front vai
ser chamado de farmácia aí Aqui tem o nome do projeto que é um texto normal projeto farmácia uma descrição que é um texto Normal também criação de API de farmácia com Spring boot nome do do pacote esse aqui já gera automaticamente ali quando você coloca o grupo e o artefato do back of front farmácia em pacotador já na versão aqui 17 marquei pronto vamos ter outras coisas para adicionar aqui são as dependências que é no mesmo site a gente adicionar as dependência clicando nesse botãozinho aqui digitando web e data JPA E devet aí você adiciona
os três clicando feito isso vai baixar um arquivo zipado e você já tá pronto para importar ele lá no intellig que a ideia que a gente vai utilizar posso utilizar Eclipse pode pode utilizar V code pode mas você vai ter que adaptar a sua forma de utilizar aí beleza aqui você quiser seguir o passo a passo tradicional com intg aqui vai ser legal e vai dar bom também mas se quiser adaptar para uma outra ideia também pode funciona do mesmo jeito aqui quais são os pacotes as classes a interfaces que a gente vai criar desse
projeto pacote entidade pacote repositório pacote de serviço pacote de controlador e pacote de config onde a entidade vai ter a classe ja vai fazer o mapeamento objeto relacional que é a classe chamada de item no repositório nós vamos criar aqui uma interface chamado item repositor seguindo as boas práticas que mantém o mesmo nome da classe com o nome repositor no final na classe de serviço que é a lógica do negócio que é onde vai fazer toda a parte de armazenar dados atualizar dados Apagar dados pesquisar dados é a parte do serviço que vai ter aqui
o item pon service o Control que é quem vai mapear as rotas por exemplo você digita lá no navegador local host 2.880 barra e produtos aí vai ter lá itens vai ter aqui que vai ser vai ser controlado pela o controlador que é o item pon Controller que é uma classe que você vai criar também e o config vai ter uma configuração básica para você ler os arquivos do banco de dados MySQL que é um chamado uma classe chamada dat sof a gente tá criando essa estrutura aqui para que você já possa entender que você
pode criar tudo com Spring boot de uma forma bem simples beleza e aqui nós vamos ter a conexão do banco de dados através do arquivo application pprs que é do do do Spring boot também você pode utilizar ele ou poderia utilizar também já o datasoft fica seu critério aqui mas você vai ver aqui no passo a passo como é que vai ficar se você utilizar application pprs tem que formar isso aqui ó Spring data aí aqui ó Spring data sce é o mesmo código aqui ó dat source dat source dat source data source onde você
só vai mudar o RL username password e driver todos esses daqui são importantes você vai informar aqui ó o local do banco de dados que é padrão isso aqui o banco de dados jdbc Qual é é oql qual o local que ele vai tá local host na porta 3306 qual o banco de dados farmácia trç DB que a gente vai criar o nome do usuário que é o username é Rot a senha password é rot e o endereço do Driver Class name é esse daqui Beleza você instalou que na sua máquina vai ser interessante se
você não instalou Eu recomendo que instale Aqui nós temos o Spring dat JPA hibernate ddl para cada vez que você faça uma modificação na classe lá da entidade que você salve ele vai atualizar isso para você mas se você quiser você pode deletar manualmente depois executar e eu quero que ele me mostre todo o código SQL que ele tá gerando automaticamente lá para que a gente tenha essa noção beleza essa é a primeira parte do nosso projeto agora nós vamos pra segunda parte do projeto já tô com intelig aqui aberto aonde eu vou abrir esse
site aqui ó para vocês visualizarem o Spring initialize digitei aqui no Google Spring inital como tá aqui e cliquei no primeiro link que é esse mesmo nome aqui ó clicou nele ele vai te redirecionar para essa página daqui a onde a gente vai fazer tudo aquilo que eu falei para você selecionei a versão do Java selecionei a versão do mav selecionei o 3.3.1 o grupo vou colocar o nome aqui do back a front o artefato vai ter o nome Farma o nome do Pr pode colocar aqui crud farmácia só pra gente exemplificar aqui que é
um texto que não vaiar em nada nosso projeto a descrição também crud farmácia com springboot e Java é um texto normal aqui não vamos mudar nada no package name empacotador já versão 17 beleza que que temos que fazer mais aqui vi aqui ó e adicionar as dependências quais coloca o nome web aparece aqui ó Spring web clica nele vem aqui em Dependência próxima dependência data JPA só digitar data e clica aqui Spring Nat JP clicou no segundo e o terceiro aqui que a gente vai utilizar é o Spring Dev Tools que é Esso daqui Spring
Dev Tools beleza clicou nele tá tudo ok aqui que é que a gente pode adicionar mais aqui MySQL que é o conector driver clicou nele Beleza já tá aqui ó o drive do skl o Spring boot Dev Tools ou que vai gerenciar o mapeamento objeto relacional através do Java persistance api JPA e hibernate e a parte de web que é para criar aplicações West full com utilizando Spring mvc onde ele já cria um servidor web através de uma apast Cat de forma automática cliquei aqui em generate essa é a primeira parte aqui aonde a gente
vai executar esse projeto isso aqui eu vou abrir aqui ó Nessa partinha aqui pra gente ir lá na pasta de downloads e pegar esse arquivozilla contra a pasta do intelij que fica mais prático abrir aqui ó a pasta do meu usuário do computador depois que a ctin tá cins aqui eu abro ela no seu vai ser o nome do seu usuário do seu computador e vai ter aqui a pastinha Idea Project cliquei nela vou simplesmente colar esse arquivo que eu recortei farmácia vou dar dois cliques nele aqui e agora eu vou simplesmente extrair ele vai
mostrar uma janelinha como essa daqui talvez mostre uma janelinha de propaganda você pode fechar ela clicar aqui em extrair e ok ele já vai criar uma pasta aqui pra gente com o nome de farmácia beleza essa parte aqui é todo o projeto do Intel do do intelig que ele criou já do Spring boot que que a gente tem que fazer agora fecha aqui vai aqui no spring boot já posso fechar essas duas janelas a gente não vai mais utilizar agora vou vir aqui e vou colocar aqui ó Open para abrir um projeto aonde ele vai
mostrar aqui disco local C usuário não do meu computador tem uma pastinha chamado intelij que é ide Project vai procurar aqui esse nome e no seu caso vai est o nome do seu usuário do computador aqui ó se você não tiver o nome do usuário do seu computador é só você vir aqui ó fechar Pode ser que ele esteja assim você clica aqui descolocar você vai procurar uma pastinha chamado de usuários vai procurar o nome do seu computador vai descer aqui vai procurar a pastinha ideia PRS vai clicar aqui na setinha e vai procurar o
nome do projeto que é farmá cliquei em ok ele já vai importar tudo pra gente aqui ele diz trust dis pro para você simplesmente fechar aqui a janela e já abrir aqui com o seu projeto beleza nesse primeiro processo pode ser um pouquinho lento porque simplesmente ele tá carregando tudo então ele vai carregar a dependência do meil vai procurar arquivo da internet aqui ó download aqui vai baixar esses arquivos normal pode deixar baixar pode fazer um café pode seguir aí um pouco a vida relaxar um pouquinho porque depois a gente vai abrir o arquivo P
XML e vai alterar a versão do Spring boot para que ele funcione na versão que a gente quer que é a 2.6.8 beleza feito isso o que é que a gente vai fazer como próximo passo criar os pacotes criar as as classes criar as interfaces conectar elas e aplicar os conceitos do Spring boot que a gente possa utilizar então Enquanto carrega aqui vou pausar o vídeo e daqui a pouco a gente já volta pronto agora que tá tudo ok aqui que já não tem mais nada carregando a gente vai simplesmente maximizar aqui a tela abrir
o arquivo P XML e aqui nós vamos simplesmente mudar aqui a versão tem aqui a versão do Spring 3.3.1 a gente vai simplesmente selecionar ela e vai colocar 2.6.8 salvou o arquivo a gente vai só olhar se tá tudo ok aqui embaixo descend Aqui ó versão do Java 17 beleza e aqui nós vamos ter ó Spring data JPA Spring web Spring Dev to as dependências e o conector que é uma SQL se esse conector não pegar a gente coloca outro depois beleza mas vamos simplesmente pausar o vídeo aqui que a gente vai executar o maven
pronto aí agora que a gente já mudou para 2.6.8 aente vai fazer o seguinte clica aqui com o botão direito ó vem aqui em mav e Reload pro para que ele baixe a [Música] aando aí essa parte aqui não tem o que fazer não é só esperar mesmo você espera aqui ele diz que não achou o conector Java P Então aquela versão que ele adicionou lá como eu falei para você do MySQL não foi não foi utilizada Então a gente vai simplesmente vir aqui ó na linha 48 tem aqui dependen coml mas Connect j runtime
e dependence a gente vai simplesmente apagar esse bloco de código aqui que começa com dependence e termina com dependence para que a gente adicione novamente depois através do M repository você percebe que apareceu uma letra M aqui agora agora aí vamos clicar nele de novo deixando como tá clica aqui no m ele já vai dar o Reload aqui pra gente beleza aí o que que ele vai fazer ele vai atualizar o Spring PR versão 2.6.8 e a gente vai lá no site do M repository enquanto ele tá baixando aqui eu já vou adicionar logo esse
drive e vamos digitar esse site aqui ó M repository Dá um enter clica no primeiro aqui que tem esse MN azul repository Brow explor que ele serve para baixar dependências na verdade não é para baixar é para encontrar ele vai só informar o endereço e você vai adicionar uma tzin do mesmo jeito que você adicionou lá no outro como eu apaguei aquela tag por exemplo aqui ó eu quero adicionar a dependência do drive de MySQL para Java bota mql Java ele vai pesquisar aqui eu gosto de conectar esse segundo cara aqui ó mais conectou Java
aonde aqui nesse site quando eu clicar nele ele vai mandar para cá ó vou selecionar a versão ó tô utilizando a versão 8.37 do MySQL ele tem até a 833 tem problema não digita Aí a clica na 833 que ele é compatível com a 837 Lembrando que as versões da 27 para baixo tem vulnerabilidad ou seja tem brecha de segurança então a gente não usa a gente utiliza da 28 para cima agora que que eu tenho que fazer ó maven tá marcado aqui ó clico aqui nesse cara ele Já copiou esse código para mim que
é um código que tem uma tag aqui ó a uma até que você pode adicionar lá on tem mais mais conector Java no que o Spring Live gerou não tinha o nome Java completo e nem tinha versão a gente vai voltar lá no intelij vai procurar lá o espaçozinho que a gente deixou em branco aqui ó depois do Spring Dev Tools e simplesmente clicar colar esse bloco de código colou o bloco de código como eu fiz aqui ó dei um control V aqui para ele ele tá só aqui index você pode ver que ele colou
esse bloco de código aqui ó vou dar até um enter aqui para você visualizar melhor pronto que aqui ó dependence grupo ID MySQL artefato ID myl conector Java versão 8.033 o que que eu tenho que fazer eu salvo esse Arquivo comtrol S depois eu venho aqui clico na letrinha do maven para ele dar um Reload ele vai simplesmente fazer o o que ele vai acessar onde tá dependência na internet vai baixar vai configurar no nosso projeto e vai ficar disponível aqui para você utilizar o my SQL Beleza se o vídeo travar um pouquinho é só
por causa disso mas depois que a gente tiver essa parte aqui a gente vai fazer só um teste básico onde a gente vai criar o banco de dados aqui com uma esquela aqui na mão só pra gente testar e vai ver se a conexão tá funcionando a a gente não vai criar nada de diferente aqui ó aqu ele já diz que o artefato foi realocado para tal já tá utilizando aqui ó vamos abrir aqui a pasta src a pasta Main a pasta Java e a do back Font farmácia onde tem a nossa aplicação principal aqui
para ele executar corretamente a gente tem que adicionar primeiro a nossa conexão do banco de dados porque a gente tá utilizando Spring e data JPA e tem um conector aqui então quando a gente executar ele vai pedir para para conectar vou mostrar aqui para vocês ó vou clicar aqui abrir o arquivo Crew de farmácia application vou executar aqui clicando nesse set aqui e vou clicar aqui em Run crud farmácia ele vai inicializar a aplicação aqui Spring boot só para você ver aqui ó aí o primeiro passo a gente simplesmente pode primeiramente preparar a parte da
conexão com o banco de dados que a gente já tira esse negócio que pode gerar erros aqui e a gente já começa a seguir o passo a passo de uma forma mais fluida simplesmente criando as classes as interfaces e os pacotes aqui ele compilou com Java 22 eu tenho vários Java aqui no meu computador a vai mudar isso aqui também para que ele utilize realmente a versão 17 que é a versão que a gente quer aqui ele executou ó Spring boot direitinho só que ele utilizou Java 22 vai mudar para o Java 17 vamos ver
mais o que que ele tá fazendo aqui ele utilizou inicializou aqui o Spring data JPA cadê Aqui ó que é o que a gente pediu PR Spring data JPA aí criou o servidor tunet inicializou mas ele parou o servidor T simplesmente porque ele fez aqui Achou algum erro ele falhou aqui ó é data source URL atributo não especificado ou seja não encontrou a parte do banco de dado determinar drive mais k ou seja tem alguma coisa que ele não achou que é simplesmente a parte da conexão com banco de dados que a gente vai aqui
direi belza e a gente vai fazer o seguinte aqui ó PR isso eu V Minimizar esse carinha aqui vou clicar aqui no arquivo resources na p e tem aqui application lembra vocês que eu mostrei lá aquele códigozinho a gente simplesmente iria fazer a conexão com D já vou colar ele pronto aqui você pode pausar o vídeo ecar ele beleza aonde ele começa aqui da linha 3 e vai até a linha que que esse código faz aqui eu clico digito k do Spring Eu vou acessar um recurso chamado dat source que nada mais vai ter do
que a URL o nome do usuário a senha e o drive aí agora ele vai achar o banco dados MySQL vai utilizar ele conforme Lembrando que o nome do meu usuário padrão é root e a senha também é root se você instalou mais qu L sua máquina e seguir o passo a passo vai ser o usuário root e a senha que você colocou lá ou root também se você adicionou root e o banco de dados aqui eu vou mudar o nome dele para farmácia TR under DB e aqui eu vou deixar a mesma coisa Spring
dat hibernate ddl update e Spring JP show es th que é para ele conectar ficar mostrando pra gente tudo que ele tiver fazendo de código maisel lá no no log e agora vamos criar só esse banco de dados farmácia porque ele ainda não existe vou clicar aqui a teclar Windows R digitar CMD vou vir aqui no no banco de dados MySQL maisq espaço menos u espaço r t que é o nome do meu usuário menos P para ele pedir a senha e aqui qual é a senha ro oot T agora eu tô na versão 8.03
vou dar aqui um show Database onde ele vai me mostrar aqui todas as informações a gente não tem aqui nenhum farmácia DB eu vou criar agora Create Database farmácia underline DB se você quiser aprender a instalar o maisq El utilizar o Spring boot num forma mais aprofundada você pode clicar no comentário fixado aqui que você pode adquirir o curso Spring boot na prática para criação de api com Java mas SQL Aí lá eu te explico tudo em detalhes aqui mas aqui pra gente seguir a gente já vai com a prática mesmo cliquei em enter aqui
ele já criou esse banco de dados vou digitar o nome show data base para ele mostrar o banco de D foi criados E Agora Nós temos aqui ó o farmácia under DB agora o que que eu tenho que fazer posso fechar application.cs posso vir aqui no arquivo principal que é o crw application posso fechar o pon XML e posso simplesmente executar ele aqui ó novamente da mesma forma como eu fiz só porque agora eu adicionei o drive que é a localização Onde tá localizado o o a URL o usuário e a senha Ele simplesmente vai
fluir aqui naturalmente aí no próxima parte a gente vai mudar aqui a versão do Java paraa gente simplesmente já seguir com execução normal aqui beleza aqui ele não vai dar erro nenhum porque simplesmente Ele identificou o drive identificou o banco de dados identificou que tá tudo bonitinho funcionando o servidor tá rodando só pra gente testar aqui ele tá pedindo aqui permissão do administrador se aparecer para você marcar logo doesse quadradinho aqui ó rede privada rede pública dependendo do seu computador clique em permitir acesso deixa ele acessar porque é só para ele executar o servidor web
vou clicar aqui numa nova aba vou arrastar ela para cá e vou digitar aqui local host na porta 8808 que o servidor t tá rodando dou um enter aqui vamos ver o que que ele vai mostrar aqui pra gente mostrou essa página aqui ó w WR table erro page ou seja o Spring boot já tá rodando mas como não tem nenhuma rota não tem nenhuma página criada não tem nenhuma informação para ser apresentada ele mostra essa página de ER aqui simplesmente para dizer ó tô executando pode fazer o que você quiser agora para criar que
você vai ver o resultado aqui do navegador na próxima aula a gente vai simplesmente modificar aqui a parte do Java pronto primeiro teste ok vou Minimizar essa página daqui e vamos mudar o Java aqui no intelij para isso ele diz que a gente tem que fazer algumas coisinhas aqui vou clicar aqui em inw vamos aqui em file aqui em file vai ter a opção Project structure esse carinha aqui aí ele diz pra gente ir na parte PR SDK e aqui no SDK Onde Aqui tem PR esse menu aqui SDK a gente vai mudar pra versão
do jav que a gente quer que no caso a minha é a 17 vou clicar aqui em aplicar vou clicar em Ok e agora simplesmente Vou esperar ele escanear aqui e atualizar essa parte deixa eu parar aqui a aplicação que eu esqueci de parar a aplicação maximizar aqui e vamos testar para ver se ele vai executar com a versão do Java 17 executou aqui ó e agora a gente vai ver aqui a resposta no bug que tá aqui embaixo que é o a parte do console do log que ele tá mostrando aqui aqui ele tá
aqui ó rodando com Java jdk17 já tá tudo ok aqui pra gente ó Java jdk17 usando Beleza agora vamos seguir com o restante do passo a passo que é o qu primeira parte criar os pacotes como é que a gente cria pacotes aqui vou parar a aplicação pra gente fazer tudo no passo a passo pro vídeo não ficar eh travando que às vezes eu tô executando aqui muita ferramenta e gravando a tela aí fica um pouco lento a vai criar aqui algumas coisas depois vai executar clica aqui no pacote principal com o botão direito New
e venho aqui em package o primeiro pacote é o que é a parte que vai ter o que a gente chama de uma classe em Java que vira uma tabela em banco de dados que é o mapeamento objeto relacional o segundo pacote que a gente vai criar é a interface que a gente chama de repository Tory O que é que esse cara faz ele pega essa classe do Java e através dela e do identificador ele consegue manipular os dados que estão ali dentro ou seja não preciso saber de código mais SQL ou de outro banco
de dados que eu esteja utilizando para simplesmente pegar os dados acessar os dados excluir os dados inserir os dados com esse cara aqui ele faz tudo a outra classe o outro pacote que a gente vai criar é o pacote de serviço que é onde a gente vai informar qual é a através da interface que a gente vai criar aqui no repository como é que ele vai manipular esses dados como é que ele vai salvar como que ele vai atualizar simplesmente através de métodos Pronto já a gente chama de service e o próximo vai criar o
Controller que é a parte das rotas Controller e vai controlar qual por exemplo o local host 180 Barra cadastro tem o qu o Barra inserir tem o qu o Barra mostrar tem o qu a você vai criando rotas para que sej possível vgar e aqui a gente vai criar o pacote chamado de config que é para adicionar algumas configurações config que no caso é o dat source para o my k poder acessar esse arquivozilla repositório tem um serviço você só precisa ter a rota e manipular ele a parte de configuração aqui é um extra que
eu vou mostrar aqui para vocês beleza e aqui daqui a pouco a gente já volta pra gente agilizar aqui a gente vai só criar a classe aqui ent eu já tenho o código pronto aqui só para mostrar para você para que você não fique naquela aquelas aulas que demoram muito tempo para você entender aqui ó no lugar nessa classe nesse pacote ent a gente vai criar a classe chamada item criou ela eu vou simplesmente colar o código aqui e vou começar a fazer os imports para você ver ó vou só apagar essas três linhas aqui
que é o que tem nela e vou colar aí aqui ó o que que a gente tem P CL it é uma classe normal do Java Aqui nós temos as coisinhas chamad de atributos que é coisa normal do Java também que é o id o nome a descrição a quantidade e o preço Beleza não tem que fazer nada diferente a única coisa que vai adicionar aqui no começo da classe é isso aqui ó @en que é para dizer que essa classe aqui do Java ela vai ser mape para uma tabela no banco de dados aonde
ela vai ter essas colunas aqui ó ID nome descrição quantidade e preço ou seja tudo que for atributo vai virar coluna no banco de dados e aqui o nome da tabela vai ser o nome da classe então quando digito aqui @ e dou um control espaço ele vai simplesmente pedir aqui para importar algo do como é que eu posso dizer do Spring boot que no caso aqui é o Java e persistem e aqui ele simplesmente deixou de dar erro nessa parte aí aqui quando a gente vai criar um ID que é uma identificação que isso
aqui já conceito de banco de dados você tem que pensar o seguinte toda classe vai ter um cadastro e esse cadastro vai precisar de um código de identificação que você consiga acessar ele através desse código geralmente no cadastro de usuário considera esse código CPF ou um ID mesmo mas aqui a gente criou um ID e no springboot tem anotação @id vou dar um cont control aqui para ele importar ela do Java também aqui em cima Import para que Ele simplesmente possa manipular de informar que esse atributo aqui vai ser o nosso código de identificação e
nós temos um outro código aqui que é o generate value @ generate value que o Spring vai trabalhar com essas anotações nessa forma aonde el vai dar aqui uma estratgia de generate Type identity colocar aqui um control importar esse primeiro aqui ou seja todas as importações estão aqui em cima para você visualizar ó Para que serve esse cara aqui para dizer que esse ID aqui vai ser auto incrementá-los for salvar por exemplo se eu vou salvar o cadastro Olival aqui por exemplo como é que eu vou saber qual é o código de identificação dele então
a diz que é alto incremental pra gente tirar essa responsabilidade da gente jogar pra aplicação a aplicação verifica quantos usuários já tem cadastrado 10 Então esse daqui vai ser o 11 já facilita pro gente agora vamos criar os métodos get set aqui de uma forma bem simples vamos clicar aqui pular uma linha vir aqui em refactory refatoração encapsulamento Field e marcar o nome dos atributos Ou seja a ID name description Quality e Price clicar aqui em refactory ele vai gerar aqui o código pra gente automaticamente ele colocou o comentário aqui o código antes do comentário
mas vou arrastar o comentário aqui que foi que ele fez ali criou os mos get set só isso não utilizamos Construtor aqui já tem um conceito diferente aqui no spring boot que ele faz através de outras coisas aqui agora nós vamos simplesmente parte do o repositório aqui a gente tem que criar ele com o mesmo nome da classe e ele é uma interface selecionei interface Vou colocar aqui o nome item e o nome repository Isso aqui é uma boa prática de programação para que a gente saiba quem esse repositório corresponde que a gente pode ter
vários repositórios aqui dentro da mesma forma várias entidades cada entidade tem o seu nome cada entidade vai ter o seu próprio repositório cada entidade vai ter o seu próprio serviço cada entidade vai ter o seu próprio controlador e assim você começa a criar uma estrutura beleza no repository já vou importar o mesmo código aqui vou apagar essas duas linhas e v adicionar ele aqui aqui ele tem ó Public interface it reposit que er as características de JPA repository onde ele vai importar aqui a classe item que a gente acabou de criar do Black of front
farmácia entity que é aí vai pegar o ID dela que é o o tipo do dado dele que é long ou seja se a gente vem aqui e voltar ó o ID é do tipo longo então aqui no JPA repositor a gente vai importar a classe que a gente quer e o tipo do dado vou importar aqui esse @repository com control Barra do org. Spring Stereo py e aqui o JPA repository dou no control barra onde eu vou importar aqui do JPA repository Spring eh Framework data pjpa repository importou Sumiu os erros pronto não tem
que fazer mais nada com isso aqui com esse cara ele já tem através dessa classe aqui toda a manipulação de banco de dados que a gente precisa sem precisar saber de código skl Ah eu quero salvar um dado eu só preciso salvar um objeto desse tipo ele já faz toda a manipulação para entender o que é atributo onde ele vai adicionar esse atributo na tabela e salva os dados lá vai pesquisar pelo id vai excluir pelo id vai atualizar pelo e pelo ob completo que a gente passa e o código dele só isso agora tudo
vai est manipulado através dessa interface que herda as características JP reposit Beleza agora o que que a gente vai fazer vamos criar o serviço serviço a gente vai vir aqui criar uma nova classe serviço é uma classe que é uma l de negócio onde vai ter o nome da classe item service para identificar ele como serviço vou copiar o código dele aqui que é bem prático também eo ser bem intuitivo de você entendendo é só você simplesmente pausar o vídeo naquele tópico ali e começar a analisar o código e entender o conceito aqui ó aí
vamos lá a gente tem aqui ó item service Vamos por partes vamos importar aqui o @ service que é para identificar essa classe como um serviço do springboot Org Spring from estereo beleza primeira parte Foi OK a segunda parte é que ele vai tá um cara que é o item repository que a gente acabou de criar que é o cara que manipula os dados do banco de dados e criou um objeto dele aqui então vou só importar ele aqui ó do pacote do back of front farmácia repository Beleza agora esse autowired é o quê é
porque eu vou jogar a responsabilidade para o Spring boot dele criar o objeto o item repositor e ele mesmo matar esse objeto ou seja no Java tradicional a gente cria os objetos Através disso aqui ó igualdade New palavra reservado do Java item repository onde a gente vai ter um Construtor específico para ele passar os dados para ele e depois que a gente termina de utilizar esse objeto a gente tem que matar ele para economizar memória e recurso computacional aqui no spring boot a gente joga responsabilidade para ele é um conceito Zinho de injeção de dependência
inversão de controle algo nesse sentido que você pode simplesmente jogar pro Spring ó Spring gerencia esse cara aí aí ele pega esse objeto aqui e dá um tempo de vida para ele que é um ciclo de vida aonde ele vai decidir qual melhor momento para ele criar qual o melhor momento para ele apagar aquele aquele objeto dali e economizar recurso computacional e através dessa anotação aqui @ed que a gente vai importar ela aqui do oring Framework be Factory annotation ele vai simplesmente jogar para o Spring boot essa responsabilidade ele vai fazer o que bem entender
agora aqui nós só vamos importar esse item que é a classe que a gente A Entidade que a gente acabou de criar do back FR farmácia entidade e aqui vamos importar é esse list do Java que é do pacote aqui cadê Aqui ó Java pon útil e esse optional que é um recurso do Java também do pacote de Java pon útil vamos ver se tem mais alguma coisa para importar nada agora vamos analisar a classe A nível eh mais mais profundo nós temos aqui ó no no service que é a parte que gerencia os acessos
ele tem um método get All itens que recupera todos os itens que estão cadastrados no banco de dados através do repositório que a gente criou dessa interface onde ele tem um método já padrão chamado find out Ou seja a gente criou aqui a interface Mas a gente não criou o o método find Ou seja já tem dentro dele através do JP repository então eu falo o nome dele aqui ó e digo find All ele já vai buscar todos e vai transformar isso nemum lista vai me retornar uma lista de itens Ou seja todos os cadastros
que eu quiser retornar com ISS aqui ele torna o cadastro dos itens num na lista Ah agora eu quero recuperar o item um um um um item específico pelo id como é que eu faço então vou ter que informar aqui o nome dele pelo id nesse método aqui ó get item by ID ele através do repositor vai chamar ó find by ID que é um método já pronto você não tem que criar nada e vai ter aqui o ID você recebeu da requisição http que você fez por exemplo você tá lá na sua página Web
aí tem lá um campozan ó ó digita o ID você digita enviar clicou enviar ele faz uma requisição http para o Spring boot chama esse método aqui esse método vai chamar essa interface vai chamar o banco de dados achou o dado vai retornar aqui através de um optional e aqui vai ter o item pronto para você manipular beleza aí agora eu quero criar um item eu quero armazenar ele no banco de dados através da classe Serv eu simplesmente fazer isso aqui ó chamar o m Create item aonde eu vou passar o item que eu acabei
de receber por exemplo lá no meu form HTML que eu criei no frontend aí eu coloquei o nome do usuário coloquei a senha coloquei a descrição Coloquei todos os dados preenchidos direitinho cliquei em enviar cliquei em enviar ele vai chamar esse método aqui aonde ele vai pegar o objeto completo e vai simplesmente chamar o repository e vai dizer oe método aqui ó save salve o objeto completo e lá ele se vira com como é que ele vai salvar se ele vai acessar o banco de dados acessar a tabela inserir os dados que tem na em
cada coluna dos atributos de cada coluna aqui e vai simplesmente ter essa sincronia Spring boot gerencia e quando ele salva geralmente ele retorna o item que ele salvou que é para você ter um debug aí poder manipular as informações dele agora aqui eu quero atualizar Um item Esse é o método que é o mais longo que tem aonde você tem que passar por exemplo o ID do cara que você quer alterar e um objeto dele para que e e ele como sendo objeto para que você possa manipular por exemplo eu quero eu quero alterar os
dados desse objeto aqui que tem esse ID específico aí aqui eu dei o nome de item de Tails e aqui eu tô criando um item normal Aonde esse item vai chamar o repositório vai pedir find by ID é um método Pronto já do repositório para encontrar o o item que tem esse ID aí Isso aqui vai me retornar Um item aonde caso ele não encontre aí ele vai gerar uma exceção vai dizer item não encontrado se não encontrar o item que ele pediu já gerou uma exceção aqui pra gente já mostra ó item não encontrado
Agora se ele achar aí ele armazena aqui o item que ele recuperou e vem para cá item Eu quero mudar o nome dele aí eu pego aqui o item pon get nome tô passando aqui no método set o nome que eu quero eh modificar aqui o item descrição eu tô recuperando aqui ó item pon details que é o do cara que eu peguei aqui ó que ou seja se eu já tenho lá os dados no meu formulário que quando você vai fazer a requisição ela acontece assim ó você tá lá no seu frontend lá o
formulário bonitinho aí tem lá o nome do usuário você clica para editar quero editar esse usuário aqui quando você edita aparece o nome do usuário e todas as informações nos campos preenchidos Você só tem que fazer é escrever no campo a nova informação e alterar aqui eu já recebi a informação nova no objeto novo pegando as informações desse objeto novo aqui e chamando o método set para que eu possa alterar esse novo objeto que eu peguei Ou seja eu criei aqui um objeto novo que tá pegando os dados do banco de dados desse objeto que
ele acessou e através desse objeto que ele tá no banco de dados eu vou simplesmente passar as informações como parâmetro do objeto que eu recebi que já foi enviado lá do fron n aí eu só tô chamando o método set ó set nome set descrição set qualidade set preço recebendo as informações de novo objeto que eu tô ó get name get description get Quality get Price Mas você pausa Analisa direitinho que é só isso terminei de criar esse novo item aqui o que é que eu faço item repository P save o mesmo método para criar
é o mesmo para editar onde eu passo o item novo aqui e ele simplesmente vai me retornar também o item que eu acabei de editar com as informações nela para ter um debug lá pra gente e quando eu quiser apagar só tenho que passar o ID aonde eu também retorno Um item quando eu apago ele aonde simplesmente falo o seguinte ó repository procure lá aquele cara que tem aquele ID se ele achar ele pula pra próxima linha se não achar ele diz aqui que não foi encontrado Através disso aqui ó dessa exceção or else throw
e tem aqui New Time tal se ele achou ele Ignora isso aqui aí ele salva o objeto que ele encontrou no banco de dados aqui e diz o seguinte ó repository apague esse objeto completo aí ele mata ele lá tira do banco de dados essa manipulação do banco de dados é ele que gerencia mais nada tudo isso aqui é só pra gente fazer essa parte aqui ó procurar todos os dados procurar um dado só armazenar um dado só atualizar esse dado e apagar esse dado então você pode pausar o vídeo escrever tudo bonitinho aqui e
depois você pausa o vídeo e escreve tudo bonitinho Beleza sem problema nenhum depois disso a gente vai criar as rotas as rotas São controlador deixa eu Minimizar aqui vamos voltar para o controler e vamos criar aqui um New Java Class que é uma nova classe que vai ser chamado de item Controller que é o nosso controlador do Java vou copiar aqui todo o códigozinho pra gente adicionar e já seguir o nosso ritmo aqui vou fazer a mesma coisa apaguei as duas linhas adicionei se você tiver um pouquinho cansado eu vou pausar essa aula aqui só
pra gente voltar na próxima pode tomar um cafezinho que eu vou voltar esse mesmo ponto aqui não vou mexer em nada beleza então a gente já volta e agora que a gente já tem o nosso controlador a gente vai fazer o seguinte aqui ó vou só mostrar para vocês aqui ó tudo que tem nele não mexi em nada beleza e aqui a gente tem o seguinte ó vou mostrar com erro mesmo só para você ver ó tem o método get que é pra gente acessar uma rota responsável por isso aqui tem o get mapping post
mapping mapping delete mapping O que é isso aqui quando a gente aumentar aqui para você visualizar melhor quando a gente tá trabalhando com api principalmente com Spring boot ele segu um padrão do protocolo http aonde nós temos os métodos get P e delete então quando a gente vai criar uma AP a gente tem que ter esses parametros aqui esses métodos ó esses essas anotações get mapping get mapping post mapping map delete map que é para informar para o Spring boot que quando eu acessar uma rota dessa daqui ó um barra p itens através do método
eu posso saber qual do do nome do protocolo Qual é o método que eu vou acessar para que ele faça as informações que eu prefiro então para você entender ess me aliant fazer isso aqui ó vou abrir aqui o navegador e vou colocar aqui para você do lado só para você ver aqui ó eu tenho aqui a rota api itens então eu como a minha aplicação tiver rodando tem que fazer isso aqui ó local host na porta 80 80 para acessar a minha api barra api bar itens beleza Isso aqui é uma rota normal se
eu der um enter ele vai cair nisso aqui ó getmap vai acessar esse primeiro método aqui que vai chamar o serviço que vai pedir para que ele pegue dentro do serviço aquele método que o a interface pega que é o get all in aí ele já vai retornar aqui no navegador todos os cadastros para mim Se eu colocar aqui alguma informação por exemplo uma interrogação zinha aqui ID igual a 10 algo nesse sentido ele iria cair nesse outro método aqui ó getmap ID aonde ele simplesmente ia chamar aqui o método get item ID que no
final ele só chama a interface pega o método que tá lá na na ele chama o serviço que tem o método da interface que vai passar o Ed para ele e lá e vai procurar no banco de dados vai retornar para cá tá para o f vai mostrar só o único cadastro que tem o id10 aqui se eu por exemplo tiver no meu formulário de cadastro lá no frontend tiver digitando minhas informações aí quando eu fosse enviar isso teria um um uma outra estrutura por baixo dos panos que aqui a gente não consegue mostrar que
eu vou mostrar com outra ferramenta que é o postum que ele simplesmente faria algo semelhante a isso aqui ó ele abriria um bloco Zinho de de texto aí aqui ele colocaria umas Chaves abrindo um Chaves fechando e colocaria aqui os atributos que a gente tem lá na classe por na classe item aqui ó a tem os atributos name description Quality e Price Então nesse arquivo aqui eu simplesmente faria o seguinte ó name recebe Olival aqui a gente tá falando de produto farmácia colocar aqui de pirona aí Aqui um ponto e virgul Zinho assim e aqui
a gente coloca aqui ó description description dois pontos a descrição medicamento tal aí pula uma linha aí coloca aqui quantite dois pontos 10 a quantidade 10 no caso aqui não é ponto e vírgula é vírgula PR gente separar deixa eu arrastar para cá para você visualizar melhor aqui tudo e aqui no final Price e aqui o preço da dep piron Vamos colocar aqui 22,90 cada uma pronto só que tudo isso aqui ele coloca como texto string aí Isso aqui a gente chama de arquivo Jason que é o formato que o Spring boot trabalha trabalha com
Jason com XML com outras informações aí aí nesse formato Zinho aqui como você tá vendo aí quando ele chega na api o que é que a api faz aqui quando ele envia esses dados por exemplo eu tô aqui no meu formulário de cadastro preenchi os dados lá no formulário bonitinho nos campz que tá lá cliquei no enviar ele transforma aqueles dados nenhum arquivo desse daqui que quando ele chegar aqui no método post ele vai transformar esses dados aqui que ele recebeu do arquivo Jason em um objeto Se der tudo certo ele vai simplesmente chamar o
serviço e pedir para que o serviço chama esse mé Create item que nada mais é do que pegar esse objeto completo que ele mandou aqui e pedir pra interface que é o item repository armazena essid no banco de dados beleza e o o é a mesma coisa vou colocar a rota aqui ap itens onde eu vou passar o ID que ele vai chamar esse método aqui através desse ID ele já vai criar o item que por exemplo quando você quer é visualizar Ou seja eu quero editar um cadastro eu tenho que passar o o objeto
completo e o ID dele então seria semelhante eu pegar esse arquivo Jason aqui e enviar para ele com mais uma informaçãozinha extra aqui por exemplo ID igual a 10 aí ele envia esse aqui o jasson para lá aí ele vai chegar aqui porque eu selecionei o protocolo e esses protocolos aqui quando a gente tá no front end a gente programa ele quero que você faça um get eu quero que você faça um post eu quero que você faça um aí quando você envia os dados ele transforma eles em arquivo Jason quando tem informação para ser
enviado não é requisição requisição é Método get envio é Método PST e delete aí ele envia o arquivo Jason para lá e assim a gente consegue que a nossa ap entenda e o delete é isso aqui agora o que que eu vou fazer aqui só importar essas anotações aqui o rest Controller dá um control espaço e vou importar aqui do Spring Framework web bind annotation Para que serve esse cara para dizer que essa classe aqui vai ser controlada pelo Spring mvc para parte do Web ou seja essa daqui vai controlar as rotas rest controler e
o request map é para dizer que eu vou criar uma rota específica com isso aqui ó quando eu quero informar qual é o endereço eu coloco isso aqui se eu não informasse isso aqui e eu colocasse lá no meu navegador aqui local host 2.880 ele ia considerar essa rota padrão Mas como eu criei uma rota aqui a barra api barra itens aí agora eu tenho que utilizar o request map para informar que essa esse controlador aqui essa classe do J que vai ser um um gerenciador de rotas vai gerenciar essa daqui eu poderia criar uma
outra classe uma outra entidade por exemplo uma entidade chamada de produtos que vai ter uma interface de produtos vai ter um serviço de produtos vai ter um controlador de produtos aonde eu poderia criar aqui uma nova rota chamada api bar produtos e assim eu vou criando várias rotas através do request map aí aqui eu tenho que fazer o quê o meu controlador ele se comunica diretamente com quem com a a classe de serviço então eu vou importar a classe de serviço aqui do back of front farmácia service aonde através desse objeto aqui que eu vou
jogar a responsabilidade para o Spring boot gerenciar criar ele e matar através do autowired eu vou simplesmente dar responsabilidade dele toda vez chamar a classe de serviço para pedir que dentro da classe serviço tem os métodos da Inter fa ele faça o gerenciamento dele para lá agora quando eu quiser controlar método http que é para quando eu chego no navegador aqui digita a informação e dou um enter que é requisição get PED getmapping Vou importar el aqui com getmap Vou importar esse daqui também prto no primeiro get map quando eu simplesmente coloco o endereço aqui
dou um enter ele retorna para mim tudo retorna tudo qu o item Vou importar aqui essa entidade do back front fcia ent e importar a lista aqui do pacote ja pon útil Beleza agora se eu informar por exemplo o ID der um método get mas V informar o ID lá na URL aí eu simplesmente vou receber aqui um optional que é uma classe do Java do pacote Java P útil aonde ele tem essa estrutura aqui e ele recebe aqui como parâmetro No método pef variable que é do Spring Framework web Bing bind annotation aonde ele
vai pegar esse ID aqui e vai passar para cá ou seja ele fica só esperando um ID passou um ID aí ele já entendeu aqui que você solicitou o método get com o ID joga para cá o ID que ele pegou lá da URL e depois ele pega esse id e joga para o método através do item service e sempre tem um retorno Zinho que é esse retorno Zinho aqui Através disso aqui ele já mostra direto no navegador da gente sem tela nenhuma ou seja ele já joga direto aqui ó no corpo do da do
nosso site aqui da nossa página se fosse lá no frontend fron ia receber esse objeto aqui ó desse jeito aqui ia preparar lá que a gente tem um timel aqui do springboot que pode brincar com isso aqui aqui no post mapping É para quando tá lá no frontend ele quer enviar dados para nossa api a Vai importar aqui do or Spring frame web bind annotation vai ter aqui o request Body Ou seja quando a gente vai enviar o os dados daqui de um formulário frontend que tem aqui por exemplo os campos gente preenche clica lá
em enviar ele fica esperando aqui um um corpo de texto e esse corpo de texto nada mais é do que o nosso arquivo Jason que eu acabei de mostrar aqui para vocês aonde ele vai receber esse arquivo de T chamado aqui do C bar e vai transformar ele num objeto para passar para o nosso serviço solicitar a nossa interface que armazene ele beleza a o método Eu quero alterar na mesma forma lá no meu formulário do do frontend eu vou ter aqui e os dados por exemplo eu quero editar o cadastro que tem aqui o
edital com o nome Olival cliquei bu editar aí aparece todos os campos com todos os nomes aí eu modifico lá todos e clico lá em atualizar quando eu clique em atualizar ele prepara mais uma vez aqui o Jon só que agora com o ID aí ele passa o ID para cá e ele recebe aqui o ID normal e recebe aqui o corpo do texto do arquivo Jon prepara um novo objeto chama aqui o serviço para que ele acessa Os dado da interface passa o ID e o objeto e a interface lá por baixo dos faz
a parte dela e para deletar eu posso informar o ID mais uma vez eu vou receber aqui um id e lá no banco de dados ele vai se virar ele vai simplesmente chamar o serviço para puxar um método da interface e ela vai procurar lá o dado do banco de dados achou deleta Não achou Aí ele simplesmente não faz nada nesse caso aqui mas aqui ele poderia simplesmente ter um retorno Zinho para mostrar uma mensagem de texto lá vamos testar aqui para ver se tá tudo funcionando só lembrando aqui que ainda tem a parte do
config a gente vai executar desse jeito aqui que tá pra gente brincar eu já vou vir aqui ó no meu banco de dados Vou colocar aqui US farmácia DB D aqui um show tabl D um ent não tem nenhuma tabela doos criado quando executar minha aplicação de tá ele vai simplesmente vir no arquivo application vai verificar conexão com banco de dados vai conectar na tabela vai usar essa tabela como eu fiz aqui e depois procurar alguma entidade achou a entidade aqui ele vai criar aqui todas as tabelas a tabela it com todos esses dados aqui
beleza e vai ver que vai ter aqui uma interface que vai manipular esses dados Cadê aqui essa interface vai perceber que tem um serviço aqui que gerencia essa parte aqui também vai vai entender que tem um controlador que tem essa rota aqui que vai manipular esses dados e vai liberar a aplicação para mim então vou só executar aqui pra gente para que a gente já venha aqui no nosso navegador e já faça o primeiro teste vou apagar esse arquivo aqui de texto vou fechar ele para ficar consumindo memória aqui da gente e só lembrando que
você pode acessar esse código aqui no no gth Hub aqui do projeto Beleza você clica aqui no comentário fixado Olha lá e se você quiser adquirir o curso de criação de api com Java Spring boot mais k onde eu t ensino o passo a passo de instalação do banco de dados teste com Spring boot como Eclipse e outras coisas a mais você pode clicar no comentário fixado que por um valor de R 22,90 você pode adquirir ele ainda hoje beleza aqui já rodou a aplicação todo bonitinha aqui ó vamos olhar a parte do banco de
dados hibernate criei a tabela item aonde eu tenho um ID tenho a descrição tem o nome tem o preço tem a quantidade aí aquele simplesmente executou e acabou tá rodando na aposta 8080 já que que eu posso fazer no meu banco de dado vou pedir para ele mostrar as tabelas agora de novo ó agora ten a tabela item se eu pedir para ele mostrar a estrutura da tabela item describe item e d um ponto vírgula em um enter ele mostra que ele criou essa tabela lá com Spring boot ou seja não mexi em código maisl
nenhum lá no Java mas ele criou para mim uma tabela que tem a coluna ID descrição preço nome quantidade aonde o ID vai ser Big int o a descrição que é texto é o nome que é texto vai ser vaixar vai receber um texto o preço que é valor lá vai ser do tipo Double e a quantidade do tipo int aonde aqui o id não pode ser nulo mas a descrição e n pode ser já o preço e a quantidade não pode ser nulo o ID é chave primária e aqui ele é auto incrvel isso
aqui é tudo conceito do banco de D que eu te explico lá na parte que você tá no curso de criação de ap tá no comentário fixado Beleza agora o que que a gente vai fazer como a gente não tem nenhuma informação aqui para que ele acesse se eu vier aqui por exemplo no item Controller e acessar a rota ap itens aqui vou trazer o meu navegador para cá vou Minimizar ele para ele não ficar tão grande aqui e dá pra gente visualizar aqui ó se eu acessar esse endereço aqui ó ap itens ele vai
me retornar uma página em branco porque por exemplo ele não tem cadastro lá local host na porta 8080 ó Ele me mostrou o quê um duas Chaves vazi porque não tem nada cadast agora se eu por exemplo cadastrar uma informação dessa daqui por exemplo se eu vir aqui no meu banco de dados e simular um cadastro lembra aqui ó inserte into na tabela item os valores específicos de cadê Aqui name botar na mesma ordem description name Price e quantity e passar aqui tabela itens que tem esses atributos aqui essas colunas os valores respondentes para a
descrição eh teste um aí aqui o nome de pirona o preço como é um valor decimal vai ser 10.2 e a quantidade que é um inteiro vai ser 100 e ponto e vírgula aí ele di que inseriu esse dado aqui se eu pedir para ele mostrar esses dados do banco de dado select item item ele mostra que eu já tenho um cadastro aqui ó teste de pirona tal se eu vi aqui e atualizar a minha página Ele já pegou o dado do banco de dados né massa simplesmente eu já fiz aqui o uma requisição do
tipo get Porque eu simplesmente no endereço aqui ó e aqui eu tô armazenando diretamente no banco de dados mas se eu não quisesse adicionar no banco de dados quisesse adicionar numa estrutura como se fosse uma API mesmo aí eu tenho aqui esse programinha aqui ó post que eu ensino lá no meu curso de criação de api a você instalar e você brincar com ela aqui aí esse carinha aqui o que que ele vai fazer aqui eu vou mostrar ele no próximo vídeo para que ele a gravação não fique travando aqui que eu tô executando ele
mas ele simplesmente vai simular que é um ular fron de lá que faz todas as requisições get post po e delete Beleza então daqui a pouco a gente já volta pronto e agora que a gente tá com a mesma coisa que não Mex nada só abrir esse carinha aqui ó que é o p esse cara aqui vai simular o nosso frontend e aqui o que que a gente vai fazer aqui com ele vou fechar isso aqui que já tava aberto de outros cursos que eu fiz vou clicar aqui nesse botãozinho aqui ó pra gente simular
os protocolos http que ele receb já viu aqui tem o nome get get post delete que é o que a gente vai utilizar aqui método get se eu digitar aqui local 2.88 barra e qual é o nome que ele colocou que eu coloquei aqui no controlador item controler api items api bar itens dou um enter ele fez a requisição lá na minha api e retornou para m vamos ver aqui a informação que ele retornou um arozin do formato Jon aqui J arquivo de tex tem o ID tem o nome a descri a quantidade e o
preço Beleza se eu quiser brincar aqui com meu e simplesmente agora eu quero armazenar informação lá no banco de dados que eu tenha mais cadastros que que eu tenho que fazer eu chamo aqui o mtodo é para simular o aqui puxar mais para cá deixa eu Minimizar aqui para não ficar tão grande que assim a gente tem uma qualidade melhor aqui do que a gente tá fazendo pronto ficou até melhor assim desse jeitinho aqui ó post que que eu tenho que informar no post um arquivo Jason que tem o meu objeto só que eu não
vou informar o ID porque o ID é ao increment então se eu informar aqui no p e botar a mesma rota eu só tenho que vir aqui no arquivo Jason e simplesmente escrever aqui a informação só que eu não vou escrever aqui com esse colchetes e simplesmente não vou colocar essas coisas aqui eu vou simplesmente copiar isso aqui ó para fazer para facilitar aqui para mim vou vir aqui vou dar um copy C vou vir aqui no bar e aqui no bar deixa eu ver aqui R no caso é R para escrever as informações aqui
Cadê par eu quero informar aqui for data no casoa ver aqui se é el aqui eu quero escrever aqui que eu quero escrever nessa rota aqui corpo do texto é o que é no formato Jon que eu vou escrever aqui eu simplesmente coloco aqui ó Chaves e aqui eu posso colocar aquelas informações lá já copiei eu vou simplesmente apagar e v colar aí aqui eu vou apagar essas linhas que estão sobrando vou tirar essa primeira que é o ID que a gente não adicionou simplesmente vir aqui e você percebe que todos os atributos no formato
Jon eles t o mesmo nome lá da da classe item e dá que tá no banco de dados e todos eles ó aspas para começar dois pontos que é o formato Jon e e as aspas PR cá quando é texto quando é número você ignora seja decimal ou seja inteiro e separ todos por vírgula aqui adicionei a de pirona já lá vou adar agora o bromida que vai ser uma medicação aqui diferente medicação bromo é a descrição dele a quantidade do bromida vai ser 50 e o valor de cada um vai custar aqui 25 e
30 vou clicar aqui em enviar aí ele vai me dar uma resposta aqui ó no caso do P ele retornou aqui um objeto esse objeto foi armazenado aqui ó se eu vi lá no meu navegador e atualizar que o meu navegador tá utilizando aqui o método htp Será que eu fechei outra página deixei aberto não tá aqui a outra página fechar essa daqui que a gente não tá utilizando essa daqui que é a menorz se eu vir aqui no meu navegador local host 1880 bar der um enter para fazer um novo método get Ele simplesmente
aqui vai me retornar dois cadastros que ele tá mostrando aqui no método get sem passar nenhum parâmetro aqui especificamente o get All retorne todos os itens se eu não me engano salve engano é isso aqui que a gente coloca é um interrogação o nome do atributo que a gente quer informar que no caso aqui é do PF variable deixa eu clicar aqui para você visualizar melhor e mostrar só ele PF variable recebe o ID aí geralmente é uma interrogação o nome do atributo id e o valor quero acessar o cara que tem o ID do
vamos ver se é assim ele já me retorna a informação específica que eu quero Senão daqui a pouco a gente eu me recordo aqui como é que faz que eu acho que é barra items Ah é eu acho que é igualdade aqui e aqui é igualdade aqui é dois pontos depois eu olho isso aqui pra gente não perder tempo aqui mas aqui dá pra gente acessar todos vamos cadastrar mais um aquiar no P com o mesmo endereço aqui selecionou Body R Jason só mudar aqui o nome do formato aqui agora vai ser um CF triacon
acho que é assim que se escreve medicamento CF vai ter aqui uma quantidade de 175 e cada um vai custar aqui 33 el C aqui se eu vi no meu navegador novamente e um atualização de página aqui agora tenho três cadast se eu quiser por exemplo aqui editar informação tenho que informação precisar o id e o objeto completo A como é que eu fao aqui no meu protocolo para para que eu quero alterar vou informar o mesma a mesma rota vou clicar aqui em bar R Jason só que aqui agora eu vou informar o ID
botar aqui ID que vai ser igual no caso eu quero que ele simplesmente atualize aqui o id2 eu quero que não seja mais broma oida vamos colocar aqui o ID 2 uma virginha eu quero que o ID 2 agora aqui escrito nele Nova medicação e aqui ele vai colocar medicação nova que é tipo um valor padrão lá só para ele armazenar aqui o preço dela vai ser zero a quantidade zero e aqui zero e zero só para deixar um espaço em branco lá para depois eu fazer o que eu quiser vou enviar aqui aqui ele
retornou um erro porque pra gente armazenar o ID a gente tem que informar uma outra coisinha diferente aqui deixa eu verificar aqui como é que a gente faz para facilitar e e não ficar travado aqui pronto T aqui viajando a gente não precisa passar a informação dele aqui não nessa parte daqui quando a gente quer simplesmente atualizar ou deletar que a gente tem que informar o ID a gente pode informar ele especificamente já aqui direto bota aqui Barra do a não tem que colocar ID igual tal não já bota aqui dois Ele já vai reconhecer
aqui que o pf variable que eu passei pela URL já é o o número que tá aqui depois dois aí vai pegar as informações aqui que eu adicionei vai atualizar se eu clicar aqui em enviar a resposta aqui já vai mudar vai ser diferente ó agora ele atualizou o item dois agora é Nova medicação se eu vir no meu navegador aqui e atualizar essa informação no lugar de Bromoprida vai aparecer o quê lá Nova medicação descrição Nova medicação quantidade zero preço zero Beleza se eu quiser atualizar novamente essa informação só eu passar a rota barra
oid e colocar aqui agora a informação que eu quero quero que ele volte a ser o Bromoprida e aqui tudo isso aqui ele tá armazenando no banco de dados e atualizando do banco de dados Bromoprida medicação e aqui o valor dele vai ser 19,90 não aqui é a quantidade quantidade vai ser 200 e o preço vai ser 19,90 salvou ele enviou os dados para lá posso vir no meu navegador e posso simplesmente aqui atualizar a página já mudou aqui ó Bromoprida já no banco de dados viu e agora o que que falta fazer aqui deletar
no delet eu tenho três cadastros aqui eu quero deletar por exemplo o cadastro tem id1 que que eu faço eu venho aqui no método http seleciono delete no post seleciona aqui o cara que eu quero que ele delete que é o cara que tem id1 E no caso aqui eu não PR passar nenhuma informação no corpo do texto posso apagar isso aqui posso colocar aqui que eu não vou enviar nada só vou enviar a requisição delet Pronto enviei aí ele já disse aqui que deu um 200 ok foi tudo certo se atualizar a página lá
do navegador vamos ver se ele apagou o um vai ficar só o dois e o três atualizei ficou só o item dois e o item três o item um foi pro belel apagado não tem mais volta apagou já era aí agora eu quero simplesmente requisitar aqui o item específico por exemplo eu quero que ele só me mostre no navegador agora o cara que tem o código três a o id3 que no caso é a sexona aí eu boto aqui ó local host na porta 80 ap item barra TR dou um enter e mostrou só ele
aqui ó beleza que através desse carinha aqui ele já identifica ele que é o pass variable E agora se eu quisesse pegar lá no post a mesma informação é a mesma coisa aqui ó colocaria já o ID aqui dou um enter aí ele só vai me mostrar especificamente ele aí aqui com essa aula você aprendeu a utilizar o get o p o e o delete para fazer toda a manipulação com o banco de dados aqui vou parar a minha aplicação aqui pra gente finalizar com a parte do data source que é a parte do config
que é a parte final aqui da nossa aplicação clicar aqui no pacote vir para voltar que é esse carinha aqui que ficou faltando Cadê ele o config o config a gente já vai começar aqui no próximo vídeo beleza pronto e agora nós vamos pra parte de configuração a parte de configuração nós vamos criar um método chamado datasource config é uma um método não uma classe que vai ser a classe de configuração vou clicar aqui em new Java Class colocar aqui Death Class Death source config e essa classe aqui qual a responsabilidade dela Serviu de classe
de configuração para isso a gente já coloca aqui um @configuration do Spring Framework context annotation que é para dizer que essa classe aqui vai ser uma classe de configuração e as classe de configurações ela geralmente tem um método que é com o mesmo que retorna O mesmo tipo de dado que é chamado de da configuração em si que a gente chama de B com essa anotação aqui que é um Public nome da classe data source config onde ele vai ter aqui um método data sce config aí ess aqui é um método de configuração Aonde esse
cara aqui ele retorna pra gente o objeto dat S config a gente pode criar aqui e a gente vai criar ele aqui beleza só para a gente partir de um ponto zer vou copiar esse treo aqui pra gente não ficar enrolando muito digitando código a gente já tá com a aula muito longa se eu fosse digitar cada linha de código aqui a gente demorar umas 3 horas de vídeo aqui explicando e fazendo tudo aí aqui ó dentro do método que retorna o objeto do mesmo tipo eu tô aqui ó com Drive manag data source vou
simplesmente aqui dar um control para ele control espaço para ele importar do jdbc datas do Spring forwork e ele já tirou todos os erros O que é que esse meu essa minha classe faz aqui afinal de contas que aqui ele tá retornando um data source que não é o não é o Construtor da classe é isso aqui pó data sof que é uma classe específica aqui do javax deixa eu ver se é esse daqui que é interface é do SQL que é a o pacote javax.sql tem uma classe dat source aí ele simplesmente retorna um
objeto desse tipo aqui certo não é o o o nome da classe perdão aí pelo erro aí aqui eu chamei o drive que é pra gente fazer o seguinte nesse drive aqui do banco de dados Ele simplesmente Tá informando o drive do banco de dados aqui em cima a a URL do banco de dados o nome do usuário e a senha ou seja Rot rot e o nome do banco de dados aqui que é farmácia under DB isso aqui se você parar para olhar é a mesma coisa disso aqui ó application pprs onde ele tem
isso aqui ou seja eu criei uma classe no Java de configuração que o Spring boot gerencia para fazer a conexão com banco de dados a onde ele recebe o nome do banco de dados a URL eh a senha o nome do usuário e o nome e a localização do drive então só apagar isso aqui ó e deixar o Spring boot gerenciar através da data S config com a anotação consigo deixar @ab para esse método aqui é a mesma coisa se eu executar minha aplicação ela vai conectar nessa URL aqui com esse banco de dados com
essa senha com esse usuário e vai liberar o acesso da mesma forma então pra gente testar aqui eu só deixei as duas últimas linhas que é por quê Porque ele pode alterar as tabelas do bco de dade e para que eu fique vendo ali as coisas que ele tá eh executando mas eu poderia simplesmente transformar esses dois métodos aqui para aqui para dentro também mas só para deixar separado para você visualizar também beleza vamos executar aqui a nossa aplicação pra gente ver se ele vai conectar no banco de dados todo direitinho aqui como a gente
espera e além de tudo isso que eu mostrei para vocês ainda tem uma coisinha chamada de configuração de configuração não de segurança que é onde a gente coloca segurança na nossa aplicação aqui se não for ficar muito complicado eu vou ver aqui sando aqui para vocês beleza aqui ele já deu um erro aqui datasource config pcl vamos ver aqui bring que foi que ele gerou aqui não pode ser registrado bim já foi definido e over está desabilitado olhar aqui mais em cima debug log tal a classe de configuração aqui falhou vamos olhar pra classe de
configuração novamente a eu ten aqui do Spring Framework jtbc dat skl deixa eu simplesmente verificar aqui se as notações são as mesmas com Text notation bein configuration e jdbc datasource drive SP configuration e aqui eu informei Ah pode ser que seja o endereço do drive que não seja o mesmo deixa eu ver aqui no no arquivo application pprs D um cont control Z aqui PR pegar o endereço do drive correto é esse daqui ó com CJ jdbc drive copiei ver aqui se é a mesma coisa aqui Dri vamos ver se é a mesma coisa s
a mesma coisa mostrar igual através dotr S ele mostrou igual driver a URL a URL essa props a gente informa URL já normal o nome do usuário e a senha aí aqui jdbc msql vamos ver aqui se ele tá com a mesma informação farmácia BB cont F mesma coisa aqui tá correto nome do usuário nome da senha e retornou data S vamos tirar esses dois aqui também pra gente testar deixar só a nossa classe principal do jeito tá E vamos executar novamente a nossa aplicação ou seja deixei o controle totalmente com a parte de configuração
vamos atualizar aqui em cima aqui ele deu uma falha para iniciar o Bin tem sido o pef resource do back front farmácia p não pode ser registrado um bim com nome já foi definido no arquivo ideia farmácia target back o front config vamos ver aqui se a gente acho que eu entendi aqui deixa eu ver aqui Vamos acessar aqui a pasta do intelij clicar aqui na seta para cima até ficar transparente na pasta do usuário Idea projects vamos vir aqui na projeto farmácia target abre aqui an notation não tem nada aqui vamos olhar aqui onde
fo que mostrou farmácia farmácia target vamos voltar aqui farmácia farmácia target classes do back a front farmácia config e aqui já virou um arquivo Class vamos ver se é esse endereço aqui farmácia target Class do back of front farmácia config data só config Class que é esse carinha daqui ele diz que já foi gerado um cara com o mesmo nome Então vamos apagar ele e vamos Executar a nossa aplicação Minimizar aqui vamos executar aí pode ser que eu tinha executado aquele primeiro cóigo tava errado e ele tinha gerado um arquivo que já tá utilizando ele
para compilar e executar lá e agora agora vai criar do Z de novo vamos ver se vai dar tudo certo aqui ou se tem algum erro a mais a ser considerado ele abriu aqui o servidor Tet e mostrou aqui ó agora falhou para configurar datas URL o atributo não especificado dat sce não pode ser configurado URL vamos olhar aqui a parte da URL porque ele tá reclamando aqui também config aonde eu informei aqui 7 URL ele não reclamou mais no Drive F determinar o drive CL set URL passei aqui jdbc 2. bar local host na
porta 3306 farmácia TR DB nome do banco de dados É esse mesmo show database farmácia under DB farmácia under DB Aqui tá tudo correto vamos olhar o que é que falta mais aqui nome do usuário r e aqui o drive SQL olhar aqui no application PPR se o drive é o mesmo que a tá adicionando aqui agora que é o com. CJ jdbc drive my jdbc e aqui deixa eu ver aqui não era para fazer isso mas eu vou fazer só para testar drop Database farmácia under DB apaguei o banco e vou criar o mesmo
banco Create Database farmácia under DB agora o meu banco de dados Se eu pedir para usar ele não tem nada farmácia DB der um show tables não tem nenhuma tabela então se eu vir aqui e executar novamente vamos ver se ele vai funcionar aqui pra gente T [Música] tã não modifiquei nada no arquivo de configuração vamos ver se ele roda o servidor ele mostra tudo direitinho TC adicionou a par ele parou fha na aplicação para configurar data só URL não foi especificado deixa eu ver aqui o que é que ele diz com isso aqui para
que a gente já termine essa parte aqui só pra gente exemplificar aqui que agora a gente já consegue visualizar tudo em tempo á aqui fica mais a gente não ter que fazer do zero aqui a gente já adicionou a dependência tudo certinho já adicionou aqui tal aí pegou o drive tudo direitinho tal Deixa eu ver se eu adicionar aqui no aplication props a mesma informação que não não é para ser mas vamos colocar aqui só para a gente seguir aqui farmácia under DB e vamos Executar a aplicação novamente aqui com um eu quero ver se
ele vai vai gerar erra agora se ele gerar erra aqui é uma é um erro no arquivo de configuração inicializou P ele deu algum erro lá mas ele continua aqui testando e aqui ele não conseguiu executar vamos verificar aqui agora minimiza application P prop Ah porque aqui a tá errada Rot faltou esse detalhe aqui que é muito importante sem a sen ele não vai conectar não mes vai tentar e vai dar aí hum tqu rodou que pode acontecer da duplicidade porque tem a mesma informação tanto no arquivo de configuração como no arquivo de de application
PP mas aqui acho que ele executou normalmente vamos executar aqui o navegador para ver se ele vai ter alguma informação como apaguei tudo não vai ter nada T fazer uma requisição aqui mas ele já disse aqui ó que não tem nenhuma informação a ser apresentada mas a aplicação tá rodando ainda vamos ver se eu inseri alguma informação aqui no banco de dados mostrar aqui US farmácia under DB show tables não criou nenhuma tabela no banco de dados ainda ou seja ele não conseguiu fazer a parte da conexão vou par a aplicação vou voltar na application
prop talvez porque faltou aquela linha lá que é para atualizar as informações de banco de dados O banco já tá criado el executou novamente vamos executar aqui vamos ver se vai criar as tabelas em teoria que que a gente ir fazer aqui sag ões é o datasource ponto é o datasource como ele tá aqui já seria suficiente pra gente beleza e só pra gente apagar aqui vamos fazer o seguinte aqui parei a aplicação aqui pra gente não perder tempo vamos vir aqui no application P properties vamos apagar esse cara aqui deixar só o hibernate ddl
e o show table e vamos pegar aqui e deixar só isso aqui data sce config vamos olhar se ele fez alguma modificação do banco de dado mostrando alguma tabela não fez nada então a gente pode executar a aplicação do zero vi aqui e executar só apaguei o restante do aplication deixei o Bin como tava aqui a parte de configuração aí data source data Source Talvez seja o nome do método acho que é o nome do método que eu criei aqui vou testar eu botei aqui esse config aqui porque eu coloquei o mesmo nome da classe
mas se for isso aqui vai ser engraçado pra gente ver aqui uma besteira dessa tá travando uma aplicação inteira porque pode ser uma coisinha que eu deixei passar despercebido aqui para vocês terem noção vou mostrar aqui novamente a parte de configuração vamos ver se ele vai executar aqui para ver se ele já tem atualizar aqui vamos nós hibernate ORM agora Ele criou a tabela no banco de dados provavelmente vai funcionar agora deixa eu verificar se ele cri ela aqui show tables cri describe item agora vou perguntar de uma forma bem baixa você sabe o que
foi para pensa reflete que foi que eu fiz aqui de modificação arquivo application pprs vamos voltar para cá Só deixei a parte de atualizar a tabela de mostrar o código em si como debug que foi quando eu vi aqui o hibernate executando quando eu vi isso aqui Show Beleza isso aqui não tem nada de configuração de conexão com banco de dados é application prop agora o data config que esse daqui é a classe que tem realmente as configurações do banco de dados ele tem aqui o drive a URL a senha o usuário e a senha
que que foi que eui aqui eu tirei aqui o nome config que tava utizando mesmo nome da classe coloquei o método aqui dat S porque esse método aqui já existe eu t só tipo Acessando ele como se fosse um R por assim dizer um método sobreescrito aqui ó uma conexão física um data sof representado pelo drive manage dat sce que gera conexão com banco de dados aí se a gente olhar na documentação desse cara aqui provavelmente já vai ter algo relacionado a isso aqui aonde ele é uma interface Ou seja é algo pronto a gente
tá utilizando esse ele uma extensão do do javax skl o objeto performance dat S tal ou seja ele já tem um método pronto com esse dat S aqui deixa eu pegar aqui para vocês essa parte aqui do Spring boot para ver se a gente consegue achar alguma documentação para exemplificar aqui dele data source data source @b gente ver aqui de data access pronto vou mostrar aqui para vocês ó na documentação oficial do Spring boot nós temos aqui que a configuração customizada do data source para configurar o datasource Defina um bim do tipo de configuração Ou
seja eu tenho aqui datasource que é do tipo de configuração que é um Bim que ele vai simplesmente ter o método aqui ó datas S ele já tem essa nomenclatura aqui aqui ó o seguint dado do prop aqui ele tá simplificando com o banco de dados H2 com nome do usuário e a senha ver se ele tem mais alguma informação aqui embaixo data S tal data source propriedades Ou seja já são métodos prontos que ele já tem do Spring a gente não precisa tipo criar um método específico para como a gente faz no serviço na
interface certo mostrar aqui aqui nós temos a conexão com banco de dados e aqui usando spren datas repository application não vai ter um uma classe completa não V aqui Público local customizado configuração já vai mudar aqui os acessos pronto mas o principal é is aqui é você entender que o sorce já tem um método específico que a gente configura como bim passa as informações do banco de dados e ele conecta normal se mudar o nome não vai pegar a classe tem que ser de configuração beleza e aqui a gente já tem tudo avisando a nossaa
aplicação completa isso aqui eu vou deixar documentação também no comentário fixado para que você caso queira aprofundar n essa parte mas aqui a gente já viu tudo do projeto do Spring boot que a gente poderia ver vou Minimizar aqui os pacotes para você visualizar tudo beleza a gente criou a parte da entidade criou o repositório dela criou o serviço dela que o controlador dela depois a gente criou a configuração que substituiu o application pprs Beleza então eu vou mostrar aqui cada um para vocês service você pode pausar o vídeo e copiar aqui ó 1 2
3 Desce aí você pode pausar o vídeo e copiar o restante ou você pode pegar o código no gth Hub também caso você queira clicar no comentário fixado aí já vai interfa só esse codigo Zinho aqui o item é só esse aqui o restante é Método get set pode pausar o vídeo aqui até a linha 27 e depois pode descer aqui e da linha 27 até a linha 51 pausar o vídeo de novo e depois vim aqui no final pausar mais uma vez e no controlador nós temos o controlador aqui você pode vir aqui e
pausar o vídeo até a linha 26 1 2 3 e agora você pode descer aqui da linha 28 até a linha 43 42 pausou copiou beleza e o config data só você vai pausar o vídeo que você já vai conseguir fazer tudo isso aqui deixa eu fechar esse pesquisa aqui pronto faz desse jeito aí Lembrando que o banco de dados você tem que criar se não tiver criado senão você vai ter que adicionar um código aqui para ele verificar se tem um banco de dado se não tiver ele crie é uma outra opção e aqui
no application p properties é só isso aqui que tem beleza Lembrando que o pon XML aqui que a gente pegou ele foi na versão 2.6.8 do Java 17 no começo do vídeo eu expliquei como você muda a versão para executar e se aqui quisesse por exemplo mudar a versão do Spring boot para 3.3.1 3.3.1 aí seria a onde a dificuldade começa isso aqui eu não vou mostrar aqui nesse vídeo não vai ser um vídeo para outro momento mas aqui quando ele atualizar a documentação muita coisa vai começar a dar erra aqui porque ele vai ter
que importar outras bibliotecas aí você vai ter que tipo deixa eu pausar a aplicação aqui né ele vai baixar outras dependências aqui Talvez seja necessário alterar a versão do Java mas só que lá no spring initial ele mostrou que funciona com 17 Então já fica prático pra gente aqui ele tá baixando tudo vai começar a aparecer os errinhos aqui o primeiro que eu vou abrir aqui é a entidade pra gente ver logo ele vai mudar aqui do pacote javac persistem vai para o Jacarta Se não me engano Parece que agora na versão nova é o
ja carta que gerencia a versão do banco de dados aqui da manipulação através da entidade Então já poderia simplesmente apagar isso aqui ó as importações e verificar Quais são as importações novas aqui ó ja carta persist adiciono ele adicion aqui o ja carta persist para o id o ja carta persistem para generate Val generate Type já carta persistem também pronto só com isso aqui já sumiu a parte do item vamos olhar o item repository Onde Aqui não tem que mexer em nada Vamos olhar o item Controller ele não reclamou de nada Vamos olhar o item
service aparentemente ele não reclamou de nada e o datas config aparentemente ele não reclamou de nada pra gente testar vamos executar aqui uma modificação simples que foi só a gente tirar a importação e adicionar nova importação que gerencia aquelas aquelas anotações aquelas dependências lá a gente já tem aqui o resultado vamos esperar ele mostrar aqui o resultado no console pra gente ver se tá executando normal vamos testar a aplicação e ver se tá tudo ok lembrando se você quiser aprofundar um pouco mais clica no comentário fixado adquir o curso aí de criação de ap com
Spring boot mais k você vai aprender a configuro de desenvolvimento todinho vai aprender a brincar com Postman vai aprender a criar sua api a utilizar inteligência artificial para acelerar esse processo tirar dúvidas e assim você desenvolver cada vez mais rápido beleza e aqui ele tá aparentemente executando tudo direitinho tu não quer tá rodando a porta 8080 Já Posso testar aqui o meu T Ket colocar aqui vamos ver se tem alguma informação aqui pra gente atualizar de novo vamos ver se tem alguma informação aqui no banco de D select tudo from item não tem nenhuma informação
insert in insert no item o description name Price quantity os valores respectivamente que eu vou passar aqui que no caso é test teste aí próximo é o preço que é 10.2 e a quantidade que é 1 fechou ponto e vírgula executou deu Ok dá um select mostr o cadastro está realizado com sucesso vamos no navegador um método atualizar para solicitar o get aqui e vamos ver se ele tá conseguindo puar as informações de banco de dados aqui ele diz que completo Tal completo tudo direitinho deixa eu parar cancelar aqui Pausar a aplicação e vamos executar
novamente aqui a ver se ele vai seguir o fluxo dele natural Hum cadê o item Controller é esse carinha aqui que ele tá na rota ap items vamos vir aqui ap items dá um enter tá carregando a aplicação se tudo der certo ele vai retornar a método get All ainda não não carregou a aplicação completa dá um F5 novamente conexão refusa geralmente da conexão refusa quando ele tá executando ou quando já tem uma aplicação pronta aqui que ele deu not F static ap item source not stack itens então vai ter que modificar algumas coisinhas aqui
para funcionar corretamente ainda vamos ver aqui o que foi que ele disse aqui pra gente Ah acho que eu tô ligado deixa eu ver aqui no application P properties eu tenho o update e tal mas não mexi em nada aqui tá tudo certinho é só a questão ele ver aqui cadê o hibernate se ele mostrou alguma coisa do hibernate é para eu verificar se ele fez o hibernate eu tenho que apagar o banco D aqui um drop Database farmácia under DB eu gosto de apagar o banco porque eu já sei que eu sei que eu
já tenho um debug mais rápido aqui Database farmácia DB aí eu apaguei criei o banco de novo agora eu vou executar para ver se ele cria as tabelas se ele criar as tabelas a conexão com banco de dados está OK aí o problema já é a rota que ele tem que modificar lá eu vou colocar aqui um use farmácia under DB Que Eu Já criei e vou dar um show tables para ver se ele tá criando as tabelas at agora não tem nada vamos olhar se o hibernate aparece aqui executando a informação dele ali ó
hibernate vers começou a brincar aqui vamos ver se ele mostra o codigo Zinho ó criou a tabela aqui atualizar aqui um show table já mostrou a tabela item Um describe item mostr a tabela bonitinho vamos ver agora se ele acessa a rota local host items dar um ent aqui deixa eu ver se tem uma outra aba aqui aberta com essa informação deixar essa daqui deixar essa daqui não tem nenhuma outra aba vou fechar essa daqui vou abrir uma aba anônima para ver se não tem uma informação que ele tá pegando de cche aí cont control
shift n vou jogar para cá aba anônima colocar aqui o endereço ap items Dá um enter e realmente tem alguma classe que eu vou ter que mudar aqui geralmente é no controlador aonde eu vou ter que tirar os Import dele aqui também que no caso aqui esses dois aqui tá normal do Spring boot são esses dois aqui aí eu tiro e vamos vai olhar quem que controla o rest Controller rest controler é a mesma coisa e o request mapping aparentemente é a mesma coisa ó o autoid é o mesma coisa get mapping post mapping PF
variable só pra gente testar se é tudo a mesma coisa vamos ver aqui Pat local tal vamos ver se ele acessa aqui aut data source config retornou tudo direitinho aí item Service vamos olhar se no C se ele tem alguma coisa que é diferente Spring stereotipi e o controler e a interface logo essas duas aqui que a gente já Tira logo as dúvidas a estereotipar não mudou nada e o JPA repository salvou par application executar novamente e o Spring boot applic tá tudo correto aqui mexemos no item que a gente mudou carta Beleza tem get
nada diferente o reposit a gente mudou oice a já meu no poderia ser importante o item controler a gente já mexeu também em todos eles e o último que faltou foi o data s a gente não mexeu nesse cara também mas aparentemente é a mesma coisa vamos clicar aqui no navegador e vamos deixar ele executar aí api tá só vai no método http tá esperando a aplicação subir se a aplicação subir corretamente era para ele mostrar já Os dados aqui pra gente na porta 8080 vamos ver aqui na porta 808 sem ap item Beleza apiem
agora agora foi agora ele executou a aplicação que foi que eu fiz só apaguei as importações de todas as classes e coloquei novamente aí agora vamos fazer um cadastro aqui que eu já tinha feito dando um insert into aqui vou adicionar a mesma coisa três vezes 1 2 3 4 5 6 7 8 9 10 a mesma informação 10 vezes eu cadastrei no banco de dados só para eu vir aqui no navegador e atualizar e agora Ele simplesmente cadastrou aid 1 aí tenho 2 3 4 5 6 7 8 9 10 cadastrou todas as informações
ou seja tá funcionando tudo corretamente Beleza então se você gostou desse vídeo deixa seu like seu comentário foi um curso de spring boot rápido aqui lembrando que você vai ter que aprofundar a parte de banco de dados a parte de mapeamento objeto relacional a parte de rodas a parte de criação de api na solicitação do método get post delete que é uma coisa diferente também a parte de configuração a parte de segurança não vou explicar porque senão o vídeo vai ficar muito longo mas vou deixar a aula de segurança aqui também embaixo você pode aprofundar
a os pacotes que você criou principais as anotações Você vai precisar reassistir a aula baixar o código eu vou deixar o código normal instalar o banco de dados e você ter a noção completa se você quiser ter esse processo a eh facilitado você pode simplesmente conferir no comentário fixado aqui aqui o curso api com Spring boot Java no valor de 2$ 22,990 e se você quiser aprofundar ainda mais a parte de Java tem um curso Java na prática no valor de 9,90 cada ou seja se adquirir o curso de spring boot o curso de Java
fica por R 9,90 se adquirir o curso de Java o Spring boot fica por 990 aí fica a seu critério decidir qual você quer fazer e se quiser comprar ainda outros cursos de Java de outras tecnologias que tem aqui disponível também você clica nele que vai sair cada um por 9,90 a partir do momento que você adquirir ou o curso de Java ou de spring boot beleza ou na prática ou treinamento de api Beleza então se gostou desse vídeo se like se comentário github no comentário fixado e o curso tá no comentário fixado também e
a aula de SPR Security também tudo no comentário fixado beleza não se esqueça de compartilhar com a galera para ajudar a galera que começando aí agora e espero que você tenh gostado e até uma próxima
Related Videos
Crie uma Api Rest com Chatgpt -  Use Java, MySQL, Spring Boot e Spring Initializr. Aprenda Rápid
45:35
Crie uma Api Rest com Chatgpt - Use Java,...
Do Back ao Front - Programação FullStack
728 views
como criar um sistema de petshop java? curso de java. sistema de pet shop  java. poo java. pet shop.
1:29:58
como criar um sistema de petshop java? cur...
Do Back ao Front - Programação FullStack
645 views
CURSO DE SPRING para INICIANTES | Tutorial de Java Spring
51:25
CURSO DE SPRING para INICIANTES | Tutorial...
Fernanda Kipper | Dev
28,017 views
Live 1 | Projeto Real | AdonisJS | RouterOS  (Mikrotik | Bot WhatsApp)
2:08:08
Live 1 | Projeto Real | AdonisJS | RouterO...
Nuno França - Adonis Brasil
134 views
Desenvolvedor JAVA. Guia de Estudos Java. Trilha de Estudos Java. Programador Java. Profissão Java.
35:41
Desenvolvedor JAVA. Guia de Estudos Java. ...
Do Back ao Front - Programação FullStack
414 views
como fazer um sistema de cadastro no java com interface gráfica? curso de java. poo java.
36:25
como fazer um sistema de cadastro no java ...
Do Back ao Front - Programação FullStack
486 views
Instale Spring Boot no Eclipse Passo a Passo. Spring Tool 4. Java. Tutorial Completo.
11:08
Instale Spring Boot no Eclipse Passo a Pas...
Do Back ao Front - Programação FullStack
11 views
java no frontend. como fazer frontend no java? backend e frontend no java. curso de java. poo java.
1:04:05
java no frontend. como fazer frontend no j...
Do Back ao Front - Programação FullStack
240 views
IDE JAVA. Eclipse IDE, Netbeans, Intellij, VS Code. Diferenças Básicas. Curso de Java
28:03
IDE JAVA. Eclipse IDE, Netbeans, Intellij,...
Do Back ao Front - Programação FullStack
91 views
loja de informatica java. java swing. gui java. sistemas java. netbeans e java. poo java. curso java
49:38
loja de informatica java. java swing. gui ...
Do Back ao Front - Programação FullStack
149 views
aprender java. java dev roadmap. estudar java. aprender a programar. poo java. curso de java. java.
15:04
aprender java. java dev roadmap. estudar j...
Do Back ao Front - Programação FullStack
101 views
Netbeans 8.2 + Java JDK 8. Como Baixar e Instalar Netbeans 8. Aprenda a Instalar Netbeans Java
36:27
Netbeans 8.2 + Java JDK 8. Como Baixar e I...
Do Back ao Front - Programação FullStack
310 views
Irã disparou quase 200 mísseis em direção a Israel
13:53
Irã disparou quase 200 mísseis em direção ...
Record News
39,973 views
como baixar netbeans. como instalar netbeans. netbeans java. netbeans 2024. netbeans. aula completa
47:30
como baixar netbeans. como instalar netbea...
Do Back ao Front - Programação FullStack
286 views
Como Baixar e Instalar ECLIPSE IDE? Passo a Passo. Eclipse e Java
15:57
Como Baixar e Instalar ECLIPSE IDE? Passo ...
Do Back ao Front - Programação FullStack
38 views
java swing. gui java. janelas gráficas java. java no frontend. swing java. java gui. netbeans.
16:36
java swing. gui java. janelas gráficas jav...
Do Back ao Front - Programação FullStack
122 views
Criando um projeto com Spring Boot + Thymeleaf
11:25
Criando um projeto com Spring Boot + Thyme...
Projeto DEV
955 views
netbeans. apache netbeans. java swing. netbeans java. ide netbeans. java
34:36
netbeans. apache netbeans. java swing. net...
Do Back ao Front - Programação FullStack
114 views
Autenticação e Autorização no Spring Boot 3 com Spring Security e Token JWT - Passo a Passo!
1:58:13
Autenticação e Autorização no Spring Boot ...
Wendel Segadilha
92 views
Copyright © 2025. Made with ♥ in London by YTScribe.com