Criando Aplicação Fullstack do Zero com Java Spring e React - Parte 1: Desenvolvimento do Backend
HTML-код
- Опубликовано: 9 янв 2025
- Neste tutorial, vamos construir juntos uma aplicação fullstack do zero usando Java Spring, React e PostgreSQL. Nessa primeira parte do tutorial, vamos criar o backend da aplicação usando o framework Java Spring. Começaremos criando um projeto Spring Boot e configurando o banco de dados PostgreSQL. Em seguida, você aprenderá a criar modelos de dados e controladores RESTful para gerenciar as operações CRUD da nossa aplicação. Vamos explorar o uso de bibliotecas importantes como Spring Data JPA para simplificar o acesso e manipulação de dados.
🎥 Criando tabela no banco de dados PostgreSQL com Flyway
• Criando Migrations com...
🎥 Parte 2: Desenvolvendo Frontend com React e Typescript
• Criando Aplicação Full...
👉 Link do repositório no GitHub
github.com/Fer...
👉 Link para baixar IntelliJ versão Community
www.jetbrains....
📚 Leitura: Criando seu database no Postgres
hcode.com.br/b...
📱Me siga no instagram!
/ kipper.dev
🌎 Comunidade do Discord
/ discord
📌 Não esqueça que para seguir com esse tutorial, você precisa ter o Postgres instalado na sua máquina (www.postgresql.org/download/).
E nele você precisará criar um banco de dados chamado "food".
Dentro desse banco vamos precisar ter a tabela "foods" com todas colunas necessárias, nesse vídeo ensino a criar a tabela no banco de dados usando migrations (ruclips.net/video/LX5jaieOIAk/видео.html) ou você pode criar a tabela de forma manual.
Qualquer dúvida estou a disposição 😊
Muito top! Um dia se Deus quiser chegarei lá.
no nestjs temos o typeorm que cria as tables e as entity, no spring tem algo parecido? estou pensando em passar do nestjs para java com spring 😅
@@brunolopes6688spring-data-jpa
Também precisei criar o usuário
Parabéns, sua fluência e domínio do assunto me impressionou.
Muito obrigadaa!!
Fico feliz que gostou 😊
Já assisti uma vez pausando e fazendo a aplicação junto e assisti denovo revendo o passo a passo e anotando a punho em um caderno (gosto de escrever rsrsrsr). De fato um vídeo que esclareceu muitos conceitos pra mim que comecei um curso recente de SpringBoot e não tava entrando em minha cabeça. Parabéns Fê, sou seu fã!
Tu tem uma didática BRUTAL !
Incrível! Uma explicação simples, porém muito instrutiva.
Obrigada Samuel, fico feliz que gostouuu! 😊
Olha, estou aprendendo Spring faz alguns dias. Achei maravilhoso esse conteúdo direto, claro e a forma como você comenta o propósito de cada anotação para mim, em particular, foi excelente!!! Muito obrigado por produzir esse tipo de conteúdo. Mais um inscrito aqui 😄
Meus parabéns pela excelente explicação e aula. Um diferencial muito grande, é que você dá dicas de boas práticas em ambiente de produção, isso é um grande diferencial.
um dos melhores videos de code que ja vi aqui no brasil
argentino acá con un poco de conocimiento de portugués y entendí TODO, explicas muy bien, agradecido al algoritmo que me mostró tu video 😆
Eu estou apaixonado pela sua didática, parabéns!!
Muito obrigada pelo conteúdo! Estou iniciando e seus vídeos me ajudam muito.. é uma abordagem simples e didática.
E a cada vídeo, o entendimento fica mais claro!
Ainda tô tentando entender sobre DTO, pq no meu curso nao explicaram nada.. e com você clareou bastante!
Que bomm, Pats 💜
Fico feliz de ajudar você!
DTO's são basicamente classes que vão ser usadas apenas para moldar um objeto que será transferido, diferente de uma classe convencional, onde nós normalmente implementamos mais métodos e incrementamos muito mais coisas.
Da pra pensar assim: objetos convecionais têm regra de negócio, DTO's não.
@@kipperdev Que honraaa! Muito obrigada pela explicação! 🥰
Não te conhecia Feh mas achei sua didatica impressionante meus parabéns.
Muito obrigadaa, Glauber 💜
Espero que você goste do conteúdo dos vídeos também!
@@kipperdev no momento só vi um mas adorei, bem parecido com um projeto que eu estou desenvolvendo, você fala bem tem uma boa Dicção, isso facilita no entendimento meus parabéns.Ja comecei te seguir nas redes sociais.
Muito TOP! Seu futuro como educadora ou até mesmo ao passar conhecimento só tende a ser brilhante! Entendi perfeitamente! Conheço uma galera pelo RUclips, inclusive devs mulheres que fazem isso muito bem, porém contigo foi muito de boa! Eu não senti ausência de instruções e acredito que pra quem precisa de mais detalhes, precisa acompanhar mais vídeos sobre no seu canal ou por aí ☺. Estarei vasculhando o seu canal. Espero que não pare de produzir conteúdos, pois tenho certeza que assim como desenvolveu esta API com toda essa explicação sem deixar o vídeo maçante, conseguirá fazer com os demais assuntos. Inclusive para os que acharam longo e faltando explicações. Sucesso sempre!😁✌
Obrigada Edson!! Comentários como o seu me deixam muito feliz e me motivam a continuar trazendo conteúdo para o canal!! Sucesso pra você 😊
De verdade, essa foi a primeira aula de Springboot que eu realmente compreendi e ainda aprendi sobre as ferramentas do Maven no intellij (que eu não sabia)
Hoje pela manhã tava chorando pra fazer um projeto em spring.. 😅
Conteúdo de respeito, muito bom, meus parabéns!
Parabéns pelo conteúdo, acredito que ajudará muitos iniciantes, uma dica, acredito tivesse separado a lógica do controller para uma classe services, também ficaria bem interessante, mas de qualquer forma já é um ponto de start bem legal. Obrigado pelo conteúdo e tempo disponibilizado para gravar as aulas.
Simm, com certeza! Os services tbm são bem importantes, mas por questão de ser um tutorial mais de start mesmo, resolvi seguir por uma abordagem um pouco mais simples. Valeuuu ☺️🫶🏼
Galera quem assim como eu está tendo problemas pois a consulta retorna os objetos vazios do banco de dados, isso deve-se ao fato de nas versões mais recentes das ferramentas apresentadas no vídeo, só é possível com os Getters da classe food... Basta adicionar esses métodos(em que na época da gravação dos vídeos nao era obrigatório), ou a notação @Getter do Lombok e o projeto rodará tranquilamente! Espero ajudar a poupar o tempo de algunsss rss.
Ela colocou o @Getter..
Obrigado amigo, você é um amigo
@@gustavohenriquevasco6674 No nosso caso estava retornando vazia a resposta do Insomnia, eu não costumo continuar o video se um trecho já não funcionou... Costumo buscar a solução...
Obrigado amigo, você é um amigo
sim, eu tava quebrando a cabeça aqui, não ia avançar se não tivesse funcionando. Comentário salvou@@alloncio
Sonho diariamente com o dia que Fernanda Kipper se convencerá de criar um curso. MDS, que didática maravilhosa! Eu só queria alguns cursos de programação com essa professora abençoada.
Obrigada pelo carinho, Domi! 💜💜
Hahahaha Quem sabe um dia né?
Amei o Video, nunca imaginei que java fosse tão Legal, Parabéns pelo trabalho nota 10
Fernanda, muito obrigado pelo conteúdo! Estou cursando Ciência da Computação e me aventurando nesta área de programação, então este conteúdo disponibilizado por vc será de grande ajuda nesta caminhada! Parabéns e muito obrigado
Parabéns Fernanda, muito Show. Alem de inteligente é bonita.
Obrigada Renato!!
Ganhou um fã só pela didática . Parabéns
Muito obrigado pelo elogio e pela confiança , Jean 💜
Perfeita! Gostei muito da forma como explica a matéria, prática, rápido e o que é necessário.
oii! como você fez a parte de conexão com o postgres? estou tendo dificuldade nessa parte
@@victorribeiromenezes5675 voce tem o banco no ar? se tiver, as credencias estão corretas? a conexão no arquivo application.properties estão corretos?
Excelente Fernanda, parabéns!
Parabéns pelo conteúdo, Fe!
Seu vídeo foi um grande passo na minha carreira. Muito obrigado por se dispor a partilhar seu conhecimento. Parabéns pela didática. #sucesso
Eu estava procurando por projetos em java e acabei descobrindo o teu canal, simplesmente incrível. To viciado nos seus videos kkkkkkkkkkk
Genial usar Stream para tranformar o modelo em DTO, eu usava uma classe convertedora kkkk.
Abençoado Stream!!
Amém! Hahahah
Pô muito bacana seus vídeos, direto ao ponto, sem enrolação. Sou Front, e quero virar Full Stack, tenho buscado, pesquisado alternativas para estudar backend, tenho visto algumas tecnologias de back e achei seus vídeos com Spring, muito bom parabéns.
Valeu Arisson! Fico feliz que gostou 😊
Vou trazer mais vídeos de Java Spring aqui pro canal, sinto falta de vídeos sobre em português!
@@kipperdev ótimo, traga que agradecemos com o like rsrs
Cara realmente bem explicado e mais um inscrito , estou iniciando em java , mais ja faz um tempo que estou estudando , e realmente bem explicado e didatica muito boa , gostei muito do seu video , mais estou vendo ainda e depois eu vou fazer esse projeto , obrigado
Fernanda, você é maravilhosa! Projeto muito daora
Que conteúdo top, muito obrigado por repassar esse conhecimento 🤧. É meio triste ver que tem pouco conteúdo assim em português, acho que o Javascript tomou muito o mainstream, esse conteúdo é raro aqui no RUclips. Valeu de novo 💓
so vim aqui para falar que qnd terminar minhas provas, irei cair de cabeça nos seus videos
Boa tarde Fernanda, estou iniciando com Java Intellij IDEA, ja programo com .NET robista, e quero muito agora entrar na area, to seguindo seu tutorial, parabéns
Os termos técnico são muito importantes parabéns
Mds. Vc é uma Santa! Eu estava procurando muito por isso. Valeu
Aguardando um curso seu de Java Fullstack ♥️
Ótimo domínio de conteúdo e muita clareza na explicação. Muito bom! Mas se Deus for bom comigo não precisarei trabalhar com Java, pq Deus que me dibre, quanta dificuldade para fazer algo tão simples!!
Incrível o vídeo. Muito top!! Parabéns pela didática. Abraço
Achei bem legal o vídeo, como tenho estudado por cursos de professores mais velhos//antigos, algumas estratégias que vc usou mostra o que de mais atual se usa no desenvolvimento java.
3 meses atrás não enti nada , mas após estudar node to conseguindo seguir msm em Java 🎉
Parabéns pela explicação. Conteúdo muito bom!
canal muito bom, estou estudando spring e tá me ajudando bastante
Caracas, projeto muito bom. Você não tem noção em quanto ajudou ❤
Show de Bola, video com todo conceito necessário para quem quer iniciar na programação, ajuda muito ... Parabens pelo video !
Muito obrigadaa 😁
Fico feliz que você tenha gostado!
estava com problemas aqui tive que passar em camera lenta e vi em 28:12 que aparece o toList() que não foi citado antes, um detalhe interessante..
Ótimo vídeo. Explicação bem didática e fácil de entender.
Obrigada Thiago!! 😊
É muito encantadora essa área, eu quero muito trabalhar com isso estou assistindo alguns videos e confesso que chamei Deus (eu: Meu Deus! É impossivel!@_@)num momento do video mas tenho certeza que eu vou conseguir aprender. Obrigado pelo conteúdo
Parabéns pela excelente didática. ♥
É melhor utilizar injeção de dependência via construtor em vez de @Autowired. Você pode usar a anotação @RequiredArgsConstructor. Essa forma é melhor pois torna o teste mais simples, podendo mockar as dependências do componente a ser testado.
Não entendi nd do que disse, mas vou pesquisar.
Ps: sou um mero estudante ainda 😅
Também já usei bastante @RequiredArgsConstructor
Eu prefiro desenvolver com @Autowired
autowierd é melhor nem sempre vc vai testar com dados estáticos
@@felipemartins3515 autowired só é melhor no caso de ele ser obrigatorio, como teste de integracao por exemplo.
Está é uma dica de especialista Java
Uoooolll \o/ Que vídeo maravilhoso Fê! Estou em uma aceleração de carreira, não sou nem Jr ainda rsrs, mas não tem como não entender com um passo à passo direto e didático desses!! Parabéns e obrigada por compartilhar seu conhecimento conosco! 💜
Fernanda e tao boa que me ajudou com o Vue kkk a fazer as requisições pro back
Nem terminei de ver mas já comentando, muito bom fê!!
Obrigada Rafa!! ☺️
Muito bom! Excelente explicação.
vim aprender e sai apaixonado
Que explicação senhores. Obrigado pela aula! 🙏
Para quem estiver com problema na base de dados ao gerar ID no momento de criar um novo item do cardápio tem que ir na base de dados e configurar para que o ID seja gerado automaticamente (SERIAL, BIG SERIAL) no postgres.
Salvou minha vida irmão !!!!!
Bora semana de estudo com Kipper. OBG pelo conteudo.
Incrível a explicação!
Muito bom seus vídeos, parabéns pelo conteúdo!
Muito obrigadaa, Matheus💜
Caí de paraquedas aqui nos seus vídeos, conteúdo ótimo! Também atuo como Software Engineer a alguns anos e muito bom ver sua didática e sua vontade de passar o conhecimento! Uma dica que te daria caso não conheça é utilizar o padrão builder do lombook, vai te facilitar na hora de criar os transformers de model/dto e vice versa, lombook é vida!
Obrigadaa Jean, fico feliz que gostou!! Simm, uso o Lombok, no vídeo não consegui trazer algumas coisas por conta do tempo, mas vou fazer um vídeo mais focado em boas práticas e padronização num app Spring e trazer esse tipo de conteúdo. 😊
Didática perfeita com conteudo! +1 inscrito
Top demais!! Vamos para a segunda aula!!
critica ao UX do intellij, ele poderia colocar todas as funções iguais em todos os sistemas operacionais.
Pra quem ficou com dificuldade de encontrar a opção que ela mostrou em 09:30 'file -> settings'
Gostei muito do conteúdo. Facilitou demais o entendimento.
Obrigada!! Que bom que gostou ☺️
Ótimo vídeo!!! Didática mt top!!
Obrigadaa Luccas!! 😊
Parabéns muito bem explicado
Muito obrigado, Alexandre 😀
Mto foda...parabéns kipper!
Didático, parabéns!
Muito obrigado 😊
aprendi mais nesse video do que em 3 mêses do meu curso na pós 😬
Excelente explicação
Show De, obrigado pelo conteúdo
obrigadaa, que bom que gostou!! 💜
Tive um problema ao importar a depedência do flyway, aonde informava sempre que a verão não era suportada. Na verdade era falta dessa informação do "postgres" no import flyway-database-postgresql
Cai de paraquedas aqui, mas é bem interessante ver que o Record meio que é o type do typescript 😅
Muito bom! Vc é 10.
Essa parte do CrossOrigin já passei um dia todo tentando resolver, fiquei louco
@kipperdev, ja pensou em seguir carreira academida? tua didatica é mto melhor do que a de muitos professores que ja tivee :)))
Mano deivin é foda...agora fico prestando atenção no posto de gasolina la atras kkkkkkkk
hahahahah é um easter egg
estou ansioso para a parte 2
Ja saiuu ruclips.net/video/WHruc3_2z68/видео.html
Dá uma conferida lá e me diz se gostou 😊
Show Fenanda
valeuuu! :)
Nossa, eu já mexi bastante com Java, mas com Android Studio especificamente. Fiquei um tempo trabalhando com React Native, mas agora ir pro Spring to apanhando bastante com essas configurações de dependencias kkkkk, espero que na parte prática em si seja mais tranquilo.
ahahahah sim, depois facilita, também acho essa parte de dependências e configuração do projeto Spring algo bem chatinho, mas o Spring Initializr já facilita bastante!
Muito bom , parabéns !!
Valeuu Daniel!! 😊
Vc nao tem ideia de como me inspira a ser uma otima dev back end. Estou estudando mais e mais java para mesclar isso com a area mobile (kotlin). Mas ate que isso nao acontece, estou estudando um pouco de front end por conta de estagio. Os seus videos sao de extrema ajuda...
Java, Spring e Intellij IDEA tem coisa melhor não 😍😍😍
hahahah sim!
Fernanda vc é inteligente eu nem sei pra que serve isso de javascript
@kipperdev Parabéns pela didáctica impressionante, passa seu conhecimento com uma certa clareza toda especial , é um dom mesmo ! Mas fiquei com uma duvida! não sabia que funcionava sem o ResponseEntify nas controllers....
Muitooo obrigada Augusto!!
Sobre sua dúvida, o uso do ResponseEntity nas controllers do Spring Boot não é obrigatório, mas ele oferece mais flexibilidade. Com o ResponseEntity, você pode personalizar o status HTTP, cabeçalhos, e corpo da resposta. No entanto, quando você retorna diretamente um objeto (como uma classe de domínio), o Spring Boot cuida de transformar esse objeto em JSON e definir um status padrão, como 200 OK. Então, em casos simples, funciona sem o ResponseEntity, mas se você precisar de mais controle sobre a resposta, ele é uma ótima opçãooo 😉
Esse olhar permeado de sombras de quem não dorme a algumas noites.
Ahahahaa a clássica olheira
explicou bem demaisss
obrigadaaa! 💜
30:11 Saúde!
Aconselho a não pular tantas etapas, para quem é mais leigo como eu, fica bastante perdido. Apesar de o vídeo ter 40 minutos, para realmente realizar tudo com certeza seria mais, então você pode dividir esse vídeo deixando-o mais completo em 2. Mesmo assim continuo tentando realizar as etapas, estou no min 18:00 tentando criar a pasta onde ficará a classe food (que não foi explicado como foi feito).
Oii Johnie, obrigada pelo feedback! Nos próximos vídeos vou me atentar a ser mais detalhada em casa etapa, eu resumi algumas coisas mais básicas nesse vídeo justamente para não ficar muito longo, mas pode deixar que nos próximos vou me atentar a isso, dividindo o tutorial em 2 partes caso necessário ☺️
Sobre sua dúvida de criação de pastas, podemos usar o botão direito como expliquei no vídeo, então clicar em “new” -> mas aí você precisa selecionar “Package” -> e então você teria a sua nova pasta/pacote que ficará sua nova classe, aí dentro dessa pasta você faz a criação da classe como mostrei no tutorial 😀
Se você é leigo não devia estar nesse video (AINDA). Recomendo dar uma aprofundada mais em Java, modelos de arquitetura e também claro Orientação a Objetos, essa base te ajudaria a entender o framework de forma mais tranquila. Pra mim por exemplo foi tão natural que nem passou pela minha cabeça isso. Meu jeito de escrever pode parecer meio rude as vezes então desculpa se soou assim, falando numa boa mesmo e por experiência própria .
@@marik_dev não sou tão leigo assim, me formei em ciência da computação, porém estava afastado a um bom tempo e voltei a revisar algumas coisas. Acredito que a Fernanda não queira limitar o seu público, então deixei uma dica...
Obs: ao invés de tentar afastar as pessoas, tenta trazer para teu lado, agindo dessa forma rude e grossa como foi comigo não te acrescenta em nada.
@@Johnnie_MG Foi por isso que eu disse que pode ter soado rude, não tem haver com afastar cara, foi exatamente o contrário, te passando os conceitos e o que ver objetivamente. É uma pena que tenha interpretado dessa maneira, fique em paz, você parece ser gente boa.
@@marik_dev Pegando carona aqui… vc indica algum material bem bom em específico, p/ver o conteúdo de modelos de arquitetura em Java?!
Playlist muito boa. teria como fazer mais um episódio mostrando como documentar a API no sprigboot 3? seria massa
Oii, @gabrielcarvalho9156. Muito obrigadaa 💜
Boa! Vou anotar a sua recomendação para trazer em algum vídeo aqui no canal
Bom dia Fernanda, uma duvida, nessa Estrutura de Controller -> Service -> Repository. nos seus Services, como você define se o metodo vai receber ou retornar uma Entity ou um DTO? ou voce sempre retorna/recebe uma Entity e no caso o Controller que tem o trabalho de converter em DTO e vice versa?
obrigado
Cara que maravilhoso
Fernandaa, ensina a fazer deploy dessa aplicação tbm!! ia ser show
Boaaa, vou adicionar nos planos fazer um vídeo ensinando a fazer o deploy simmm! Obrigada pela sugestão 😊
O que você colocou no ServletInitializer, você não mostrou fazendo essa parte?
Otimas explicações! Gostaria de saber mais sobre seu background aprendendo java e spring, onde vc recomenda estudar esse conteudo? Obrigada
Poderia fazer um vídeo falando mais sobre você?
Vi que você trabalha no Itaú e fiquei interessado em saber mais, a quanto tempo você estuda programação, e o que você faz lá 👀👀
Você é fera parabéns pelo vídeo!
Obrigadaa, que bom que gostou do vídeo!! 💜
Claro, posso fazer um vídeo contando um pouco mais da minha trejatória simm, obrigada pela sugestão! 😊
Legal de Mais, porem faltou os endpoint para editar e excluir...
Ameii seu vídeo mais não consegui importar o jakarta.persistente no idea intellij não sei porque
Estou aprendendo agora bjs
Atualmente estou em uma graduação de ciência da computação onde ganhei uma bolsa de 100%, estudante do segundo período, resolvi estudar para o back end, pretendo começar por JS, Python e TS, partir para uma FRAMEWORK node.js ou laravel, um Git e estudar PostgreSQL. Não sei se é o caminho correto.