[JAVA] - Construindo uma Api Rest com Spring Boot, Mysql, JPA Repostory e fazendo deploy na Docker

Поделиться
HTML-код
  • Опубликовано: 14 дек 2024

Комментарии • 97

  • @eliasmartins6629
    @eliasmartins6629 2 года назад +1

    Muito top mesmo

  • @brunofelix5434
    @brunofelix5434 2 года назад +1

    Muito show seu conteúdo

  • @antonioazevedo2080
    @antonioazevedo2080 3 года назад +7

    Parabéns. Linguagem clara, sem rodeios, direto ao ponto e sem gírias. Realmente muito profissional. Vale muito a pena. Vou indicá-lo.

  • @danielliberatodasilva-t.i6164
    @danielliberatodasilva-t.i6164 2 года назад +1

    Massinha demais, já estava desistindo procurar um conteudo que fizesse sentido.
    Muito top o video, parabéns, acompanhando...

  • @HungryWolfBeswekwe
    @HungryWolfBeswekwe 3 года назад +1

    Caraca Rodrigo, um dos melhores vídeos que achei no youtube... sério cara... tem muito dev que não tem didática... sei que eles são bem intencionados... mas ao tentar passar conhecido... eles acabam mesmo é desencorajando a galera... mas como sou teimoso... finalmente achei seus vídeos aqui... muito bom mesmo! Muito obrigado e parabéns pelo excelente conteúdo!

  • @marconery6850
    @marconery6850 3 года назад +6

    parabéns, valeu está muito bem explicado! deu um erro aqui no application.properties, mas já consegui resolver alterando a linha 6 assim: spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver , com o 'cj' agora!

  • @mateussoouza7958
    @mateussoouza7958 3 года назад +1

    Parabéns pela didática, direto ao ponto.

  • @PRODUCTIONSdumdum
    @PRODUCTIONSdumdum 4 года назад +3

    Sua didática e muito boa, continue dando aula

  • @pauloedielcavalcantedasilv3890
    @pauloedielcavalcantedasilv3890 4 года назад

    Os vídeos são espetaculares , trabalhei com você na CVC , mas nunca conversamos , se eu soubesse que tinha uma boa vontade e didática tão boa tinha pego várias dicas no inicio da minha carreira.
    Parabéns e sucesso.

    • @rodrigorahman
      @rodrigorahman  4 года назад

      Poxa Paulo que pena ... com certeza iríamos trocar muitas ideia 😉 um grande abraço

  • @TalysonMoreira
    @TalysonMoreira 3 года назад +1

    Que aula fantástica, por favor continue com esse trabalho maravilhoso. Vou indicar

  • @eversonbatistamariano5198
    @eversonbatistamariano5198 2 года назад +1

    Parabéns pelos vídeos!!! Didática monstra!!! Continue a postar mais vídeos sobre Java (SpringBoot), PLEASE! A comunidade agradece e eu tbm. =D

  • @FelipeSantos-kk9lz
    @FelipeSantos-kk9lz 2 года назад +1

    Muito da hora, Rodrigo! Seria bom se vc continuasse na pegada do Spring rsrsrsrsrs

  • @edmilsoncarvalho9744
    @edmilsoncarvalho9744 2 года назад +1

    Meu caro, eu tenho um combo que está carregando informações do banco. Porem ao salvar eu não sei como fazer para passar o id carregado no combo do thymeleaf para o meu objeto controller. Pode dar uma dica de como vc faz ?

  • @DPM-TI--MatheusAnalistadesiste
    @DPM-TI--MatheusAnalistadesiste 3 года назад

    excelente aula profissional top do mercado. manda umas ideias de estudo de API.

  • @andreifigueiredo1737
    @andreifigueiredo1737 3 года назад

    Muito massa a aula, aprendi várias coisas legais!
    Uma dica também que percebi no teu uso de stream, poderia ter utilizaod parallel() pra melhorar o processamento e fazer async essa iteração.
    Valeu, e bom trampo!

  • @TheLoki2000
    @TheLoki2000 3 года назад

    Caramba, qualidade do vídeo e didática excelente, aprendi bastante nesse vídeo, obrigado!

  • @thiagosantos6697
    @thiagosantos6697 4 года назад +1

    Cara muito obrigado pelo vídeo, de verdade. Vou compartilhar com todos os amigos

    • @rodrigorahman
      @rodrigorahman  4 года назад

      Imagina Thiago obrigado vc pela ajuda em compartilhar 🥰 grande abraço

  • @fabio.r2
    @fabio.r2 3 года назад

    Video muito bom. Evita colocar estes músicas alta no meio do vídeo, se for colocar mante o mesmo volume do áudio gravado para não estourar uma música alta do nadando.

  • @berguisonpaiva8248
    @berguisonpaiva8248 4 года назад +3

    muito show, depois se der faz um exemplo de spring boot e spring securuty no backend consumindo com flutter.. abraço

  • @mauroroger7542
    @mauroroger7542 3 года назад

    Meu amigo, você muito salvooooou!!!! Muito obrigado, conteúdo toooop demais!!!!

  • @ranieriprg5977
    @ranieriprg5977 4 года назад

    Holy crap! eu vou assistir todos os seus videos sobre java. voce é muito bom na parada

  • @jprodrigues.
    @jprodrigues. 3 года назад +2

    Conteúdo espetacular! Didática top, parabéns!!

  • @bz_starfox
    @bz_starfox 3 года назад

    Top dimóóóóóóis essa aula!!!

  • @wellingtonferreira8269
    @wellingtonferreira8269 3 года назад +1

    alguem pode me responder se tem como fazer isso usando o FIrebase como base de dados?

  • @vanvelo
    @vanvelo 4 года назад

    Ótima aula.Ótimo curso...Parabens....continue nos ajudando

  • @crashspine
    @crashspine 2 года назад +1

    poxa deem like, custa somente o ego!

  • @ellyssonmike2872
    @ellyssonmike2872 3 года назад

    Estou travado em um estágio, se por acaso no endpoint acessar /pessoa/alguma-string como fazer o tratamento?

  • @rodolfoalvarenga252
    @rodolfoalvarenga252 3 года назад

    Muito boa aula! Espero um curso seu de Spring, do zero ao avançado.

  • @aovivoHNK
    @aovivoHNK 2 года назад +2

    Cara estou com um erro ao tentar criar automaticamente as models no bd com o ddl-auto=create, com o mysql no container.
    Ex. o MySQL fora do container aqui local o Maven consegue compilar e cria as models no banco automatico certinho
    Quando coloco a conexão no BD do container e tento compilar ele nem vai, sabe se tem mais alguma configuração adicional pra isso ?

    • @DougHigashi
      @DougHigashi 2 года назад

      estou com esse erro também :(

  • @fernandacunha5907
    @fernandacunha5907 3 года назад

    boa tarde, sou nova no canal. Assistindo ao vídeo, não achei o link do vídeo anterior, pode disponibilizar por favor? Obrigada

  • @luisfernando3405
    @luisfernando3405 3 года назад +1

    Estou aprendendo sozinho... e iria usar seu projeto, mas agora que vi... o "mvn clean install" refere-se ao Apache Maven Project ? O que muda se quiser trabalhar com nginx ?
    Vou tentar aprender como compilar usando usando o OpenJDK e executar o projeto, mas seria muito te pedir outro vídeo usando o mesmo projeto, porém com o seguinte cenário: OpenJDK+Docker+VSCode ? sem precisar instalar nada fora do container... :)

  • @dowglasmaia-dev
    @dowglasmaia-dev 3 года назад +1

    Valeu pelo conteúdo, muito bem explicado!!! parabéns

  • @luizdealbuquerque2959
    @luizdealbuquerque2959 3 года назад

    Gostaria de fazer oque você faz, e consumir no front, seria possível com este tuto? terias algum dessa forma? Preciso fazer Java, banco, angular

  • @LucasRibeiro-xr2oi
    @LucasRibeiro-xr2oi 3 года назад +1

    Olá meu amigo, primeiramente queria agradecer por disponibilizar esse conteúdo incrível para a gente. Gostaria de saber se você usa o intellij pago ?

  • @JavaJourney
    @JavaJourney 4 года назад +2

    Poderia me passar os plugins que voce usa na interlliJ???

  • @andrelsa
    @andrelsa 3 года назад

    Muito bom o conteúdo, explicação simples, objetiva e de fácil entendimento. Rodrigo pq vc não usa o Lombok nos projetos?

  • @lagoawb
    @lagoawb 3 года назад

    Excelente aula,parabens pela didatica, ja assisti muitas videoaulas, mas a sua é muito boa. voce tem cursos? microservicos?

    • @rodrigorahman
      @rodrigorahman  3 года назад

      Muito obrigado man, no momento ainda não tenho curso. Porém estou planejando ter sim. Grande abraço

  • @Tuchinski12
    @Tuchinski12 3 года назад +1

    O vídeo é muito bom, mas tenho uma dica. Não sei se foi somente comigo, mas cada vez que você parava de falar e colocava a música de transição eu tomava um susto, pq a diferença de som está bem alta(a música ta bem mais alta que sua voz). Tirando isso gostei bastante do vídeo. Parabéns!

  • @renatorodrigues2466
    @renatorodrigues2466 4 года назад +1

    Muito bom Rodrigo, parabéns !!!
    No vídeo você apresentou a "Dockernização" do backend com um banco, imaginando que uma outra equipe esteja fazendo o Frontend, como é feito a composição da arquitetura ?
    Em outras palavras tendo equipes distintas e projetos distintos (backend e frontend), como é feito o build do projeto ? Cria-se um repositorio central onde este repositório agrega os dois projetos, ou, cada projeto terá um docker-compose individual ?

    • @rodrigorahman
      @rodrigorahman  4 года назад +7

      Renato obrigado pelo feedback então o docker-compose nós normalmente utilizamos somente para o ambiente de desenvolvimento, quando o projeto vai para produção enviamos somente a Docker, no exemplo do vídeo a Docker que compilou o nosso projeto JAVA.
      Agora respondendo sua pergunta, sim será feito o deploy em servidores diferentes, a idéia de utilizar a Docker é justamente para dividir o backend do frontend no exemplo do vídeo pode sim ter outra equipe fazendo o Frontend e não precisa nem ser feito em JAVA pode ser feito em outra linguagem como Javascript( React ) por exemplo.
      No final de tudo cada camada (Frontend e Backend) vai para seu servidor, então teríamos no mínimo 2 servidores um para o Frontend e outro para o Backend.
      Traduzindo isso para a os serviços da AWS por exemplo:
      O Backend iria para dentro de um EC2(aws.amazon.com/pt/ec2/)
      O Frontend poderia ir para um S3 como website (docs.aws.amazon.com/pt_br/AmazonS3/latest/dev/WebsiteHosting.html).
      Espero ter respondido sua pergunta ;-) caso tenha ficado alguma outra dúvida me avise ;-) grande abraço

  • @stisampaio
    @stisampaio 4 года назад +4

    Parabéns..Dica...Aumente a fonte...(letra pequena)...

  • @Um_Zuca_Dev_Na_Ilha_da_Madeira
    @Um_Zuca_Dev_Na_Ilha_da_Madeira 3 года назад

    Rodrigo Top em... este erro de conector é normal??

  • @danielsantiago11
    @danielsantiago11 4 года назад +1

    Show, conteúdo topzera

  • @gustavsc91
    @gustavsc91 4 года назад +7

    cara, uma sugestão, aumenta a fonte esta difícil enxergar.

    • @leandro_neis
      @leandro_neis 3 года назад

      Eu ia escrever o mesmo comentario. ehhehe

  • @josewalter4574
    @josewalter4574 4 года назад

    Olá Rodrigo tudo bem daria para vc aumentar o tamanho da letra que quase não da para ver.

  • @tv-tavaresboxandroid6430
    @tv-tavaresboxandroid6430 4 года назад +1

    Bom dia, gostei do video, porém uma sugestão, mixar melhor o áudio falado com a vírgula sonora, pois a virgula é MUITO alta, ou seja, aumentamos o áudio para escutar vc explicando e quando entra a virgula a tv fica MUITÍSSIMA alta.

  • @tuga158a
    @tuga158a 4 года назад

    Porque usamos Spring web e Jersey ao mesmo tempo ?

  • @GabrielFerreira-bg7ng
    @GabrielFerreira-bg7ng 4 года назад

    Boa noite Rodrigo, obrigado pelo vídeo me tirou bastante dúvidas a relação do Docker junto com a aplicação Spring, mas tenho outra dúvida kkk, caso eu tenho uma outra aplicação front-end (React,Angular ou Vue) é possível colocar esta aplicação do front junto com o container que fizemos (Spring e MySQL) ??

  • @thiagofelippi5969
    @thiagofelippi5969 4 года назад +1

    Porque o arquivo de Dockerfile foi tão extenso, não poderia fazer apenas:
    FROM openjdk:11
    WORKDIR /usr/app
    VOLUME /tmp
    ADD target/crud.jar crud.jar
    EXPOSE 8090
    ENTRYPOINT ["java", "-jar", "crud.jar"]
    e no docker-compose
    app:
    build: '.'
    volumes:
    - /data/crud
    ports:
    - "8090:8090"

  • @wesleymrosa
    @wesleymrosa Год назад

    Achei legal !
    Não tem interface gráfica ?
    Como usa ?
    Celular ?
    Computador ?
    Tablet ?

  • @luanagritti7955
    @luanagritti7955 4 года назад +1

    Conteúdo Top! 👏👏👏👏

  • @carlosruan2167
    @carlosruan2167 4 года назад

    A classe PessoaRs, da pra dizer que é um representation model?

  • @spymen3853
    @spymen3853 4 года назад

    Olá Rodrigo parabéns, uma pergunta pq vc não usou o Lombok também?

  • @fabiosousabufalari9276
    @fabiosousabufalari9276 4 года назад

    Boa noite, qual o link para acesso ao vídeo anterior que você explica sobre as configurações de Docker ?? Muito Obrigado.

    • @rodrigorahman
      @rodrigorahman  4 года назад

      Boa tarde Fábio, de docker tenho uma playlist completa segue o link ruclips.net/p/PLEXr-WZRgPjx5JrhQO9GKK-oJpFqW1P3h e tem esse vídeo aqui tb: ruclips.net/video/YnCdpGAtLlQ/видео.html
      abss

  • @vinilulu
    @vinilulu 4 года назад

    Cara, muito boa sua aula. Há um tempo eu uso docker para banco de dados e ja tenho uma imagem do MySql, nesse caso, como faria para essa api se conectar ao meu banco?

    • @rodrigorahman
      @rodrigorahman  4 года назад +1

      Nesse caso aponta o volume no docker-compose para a pasta onde vc guarda os dados do MySQL e altera os dados de conexão(usuário,senha e nome do banco) assim vc ter a já o seu banco existente. Aí basta alterar sua api para conectar com esses dados

    • @vinilulu
      @vinilulu 4 года назад

      @@rodrigorahman obrigado pela orientação, mas, ainda engatinho no docker...hehehe!!! Não faço a mínima ideia de como fazer esse apontamento.

    • @vinilulu
      @vinilulu 4 года назад

      Só uma resalva...ele hoje ja conecta nesse banco de dados do mysql que ja esta no docker, agora eu criando minha api com docker, gostaria de fazer essa ligação,

    • @rodrigorahman
      @rodrigorahman  4 года назад +1

      Imagina fica tranquilo.. 😉
      Vamos lá no video eu crio o volume para o mysql e nele eu coloco um path correto ?
      Dentro do arquivo docker-compose.yaml linha (26) :
      volumes:
      - ./docker/volume_mysql:/var/lib/mysql
      A primeira parte antes dos dois pontos (./docker/volume_mysql) é o caminho da minha pasta.
      Você precisa alterar ele para a pasta onde está guardado os dados do seu mysql existente.
      Obs.: Faz um backup dessa pasta antes de fazer pois se der algum problema vc consegue recuperar OK ? 😉

    • @vinilulu
      @vinilulu 4 года назад

      @@rodrigorahman Hum..to quase entendendo...hehehe! Contudo, pelo que entendi no vídeo aquela variável "db" ela seria o apontamento da imagem mysql que quero instalar, correto? Caso seja, como vou instalar se já tenho instalado? O atributo volumes não seria para guardar os dados do banco como se fosse um arquivo temporário? Quando rodei o projeto ele deu erro na porta 3306 e essa porta já esta em uso. Desculpe minha "ignorância"! Estou fazendo algumas pesquisas mas não encontrei nada ainda. Outro detalhe, "...pasta onde está guardado os dados do seu mysql existente" catei o mundo aqui e não encontrei esse caminho... :( . Obs: Também uso mac.

  • @eduardoalmeida4725
    @eduardoalmeida4725 4 года назад

    Estou utilizando o PostgreSQL, como seria para configurar no Docker-compose ?

    • @rodrigorahman
      @rodrigorahman  4 года назад +1

      A ideia seria mudar somente os dados de conexão e alterar o dialeto do jpa o restante continua igual . Essas alterações você faz no application.properties

    • @eduardoalmeida4725
      @eduardoalmeida4725 4 года назад

      @@rodrigorahman No application.properties está configurado, tudo funcionando, seria mas a questão de configurar mesmo no Docker-compose

    • @rodrigorahman
      @rodrigorahman  4 года назад +1

      @@eduardoalmeida4725 então o docker-compose vc pode seguir a documentação do docker-hub : hub.docker.com/_/postgres
      Porem segue um exemplo de como eu montei um:
      db:
      image: postgres
      ports:
      - "5432:5432"
      restart: always
      environment:
      POSTGRES_PASSWORD: 31032020
      volumes:
      - ./docker/pgdata:/var/lib/postgresql/data
      mas esse é antigo então se der algum problema me da um toque.
      Absss

  •  4 года назад

    Estou voltando a estudar java e achei teu conteúdo muito bom cara.
    Me tira uma dúvida, tem como colocar um auto reload a cada atualização no codigo ? para não precisar ficar re-compilando sempre.

    • @rodrigorahman
      @rodrigorahman  4 года назад

      Obrigado 😉 cara eu não uso pois estou sempre rodando ele com docker. Mas o spring boot se eu não me engano tem o spring-boot-devtools que tenho quase certeza que faz isso.

  • @guimarin_
    @guimarin_ 3 года назад

    Boa tarde pessoal, poderiam me ajudar nesse assunto?
    Muitos de vocês já estão na área ou conhecem um pouco sobre esse mercado de desenvolvimento, eu estou muito na dúvida de quais linguagem/tecnologias seguir nessa área, estou tentando focar em Java no momento, pode ser engraçado mas tenho dúvidas se realmente será uma boa escolha e a garantia de que lá na frente não irei precisar me descartar novamente para migrar de linguagem.. Ando pesquisando bastante onde posso trabalhar no mercado de Java Spring, APIs, REST etc.. As maioria das vagas que vejo por ai são de Full Stacks ou Java Script Front etc.. Obrigado pela atenção e se puderem me dar um help nesse assunto eu agradeceria muito.

    • @rodrigorahman
      @rodrigorahman  3 года назад +1

      Vou fazer uma live hj as 19 entra nela e me faz essa pergunta que eu te falo 😉

    • @guimarin_
      @guimarin_ 3 года назад

      @@rodrigorahman Irei assistir, obrigado! 👍🏼

  • @pany32
    @pany32 4 года назад

    ​ Rodrigo Rahman Blz!? ao adicionar a propriedade "spring.datasource.url=jdbc:mysql://db:3306/nome_banco"
    eu não consigo gerar o ".jar", como devo proceder?
    -Caused by: java.net.UnknownHostException: db
    -Error:Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

    • @rodrigorahman
      @rodrigorahman  4 года назад

      Opa tudo bem ? onde está db vc deve substituir pelo ip do banco de dados .

    • @pany32
      @pany32 4 года назад

      @@rodrigorahmanCara, infelizmente acho que não compreendi, estou procurando artigos relacionado mas não encontrei, imagino que para pegar o ip, talvez seja com este comando "docker-machine ip", porem o erro acontece ao tentar dar o "mvn clean install" ao tentar gerar o ".jar", e neste momento a imagem "mysql" não foi criada ainda, então acho que não é possível pegar o IP, ou estou confundindo algo?

    • @pany32
      @pany32 4 года назад

      @@rodrigorahman obrigado pela ajuda funcionou.

    •  4 года назад

      @@pany32 Como exatamente você resolveu ? eu não consegui entender

    •  4 года назад +1

      Bom, eu resolvi meu problema trocando para o linux kkkkk

  • @eltondeveloper1159
    @eltondeveloper1159 4 года назад

    Olá Rodrigo. A aula está sensacional! Preciso de uma ajuda. Mesmo clonando o seu repositório quando tento executar o projeto aparece esse erro -> com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure. Já alterei a versão do MySQL... Pode me dar uma ajuda? Muito obrigado!!!

    • @rodrigorahman
      @rodrigorahman  4 года назад

      Elton boa noite, vc está usando o docker-compose para subir a aplicação?

    • @eltondeveloper1159
      @eltondeveloper1159 4 года назад

      Estou sim. Estranho porque fiz um teste clonando a sua aplicação e tentei rodar aqui. Deu o mesmo erro. Será que é a versão do MySQL?

    • @rodrigorahman
      @rodrigorahman  4 года назад

      @@eltondeveloper1159 se vc rodar o comando docker-compose up ele vai subir o MySQL e a aplicação já com a versão certinha, não deveria dar problema não, porem se vc tiver o MySQL instalado na sua máquina talvez o container do MySQL não esteja subiu e por isso está apresentando o problema. Caso tenha o MySQL instalado, tenta parar o serviço antes de rodar o docker-compose 😉

    • @eltondeveloper1159
      @eltondeveloper1159 4 года назад +1

      Show de bola Rodrigo. Funcionou! Achei que não teria problemas com o MySQL rodando localmente. Muito obrigado!

  • @viniciustavarespimenta105
    @viniciustavarespimenta105 4 года назад

    Rodrigo, eu fiz o clone do repositório e tentei executar aqui na minha máquina. Estou tendo esse erro: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project spring-boot-com-mysql: Fatal error compiling: invalid target release: 11 -> [Help 1]

    • @rodrigorahman
      @rodrigorahman  4 года назад

      Opa blz, vc precisa ter o java 11 na sua máquina. Grande abraço

    • @viniciustavarespimenta105
      @viniciustavarespimenta105 4 года назад

      @@rodrigorahman estou usando o java 11. No terminal quando eu rodo os comandos java -version e javac -version me mostra o seguinte:
      java version "11.0.7" 2020-04-14 LTS
      Java(TM) SE Runtime Environment 18.9 (build 11.0.7+8-LTS)
      Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.7+8-LTS, mixed mode)
      javac 11.0.7

    • @rodrigorahman
      @rodrigorahman  4 года назад

      @@viniciustavarespimenta105 veja se seu maven também está com essa versão... rodando o mvn --version ele vai mostrar a sdk que ele está utilizando

  • @RafaelBizi
    @RafaelBizi 4 года назад

    Muito bom os seus vídeos! Parabéns! Eu estou tendo um problema cara, deve ser coisa boba, só que to quebrando a cabeça rs.
    O meu mvn clean install não compila por erro de conexão "Caused by: java.net.UnknownHostException: db" (isso porque eu mudei o spring.datasource.url no application.properties do projeto spring boot para o banco de dados criado no docker-compose, como o de nome DB, no exemplo do vídeo). Se eu coloco apenas 'localhost:5432' ele compila de boa, e roda o spring boot apenas, sem o docker.
    Será que você pode me dar uma luz? kkk valeu, abraço!

    • @rodrigorahman
      @rodrigorahman  4 года назад +1

      Opa tudo bem? O que acontece é que o mvn clean install está rodando os seus testes e dentro da pasta teste deve ter algum teste que sobe a aplicação do spring. para resolver existem 2 formas
      1 - faz um skipTeste rs ... não é a melhor opção.
      2 - Na sua pasta test tem a pasta resource/application.properties se não tiver, vc cria esse arquivo e altera para localhost.
      Assim vai resolver seu problema. Se vc não estiver usando o teste e ele foi criado apenas na criação do projeto, basta vc exclui-lo que vai tudo funcionar.
      Grande abraço

    • @RafaelBizi
      @RafaelBizi 4 года назад +1

      @@rodrigorahman cara obrigadão! realmente era isso mesmo, quebrei a cabeça o dia inteiro kkk. Eu estava usando o Postgres, parou esse erro, e apareceu outro. Aí passei para o MySQL, funcionou tudo normal. Obrigadão!