[Música] show de bola galera Então bora dar início aí ao nosso projeto E para isso a gente vai usar uma ferramenta maravilhosa aí disponibilizada pelo Spring que é o springnezer né então para acessar aí na máquina de vocês é só digitar aí start ponto spring.io que vocês vão ter acesso a essa ferramenta maravilhosa aí para a gente poder configurar o nosso projetinho Spring boot aí de uma maneira totalmente intuitiva e muito simples para gerar uma estrutura muito boa aí de projeto e já totalmente estruturada para a gente poder começar legal então aqui a primeira coisa
que a gente vai fazer é escolher entre o grandão e o maven como ferramenta para gerenciamento das nossas dependências e build no nosso caso aqui vamos ao redor né que é uma ferramenta bem interessante Também quem prefere o meio pode utilizar Sem problema nenhum Mas vamos sair aqui da nossa zona de conforto a gente vai usar o grandão Aí para mostrar para vocês também que é uma ferramenta incrível aí que é super simples aqui principalmente no contexto que a gente vai utilizar ela aqui que vai simplesmente digerir as dependências que a gente vai adicionar no
nosso projeto e para customizar uma outra testezinha ali importante para a hora da gente gerar o nosso depor em nuvem legal então vamos de gradual com Grove aqui na linguagem de programação a gente vai de Java Mas você poderia também utilizar o coten ou Groove no backend com springbuth na versão do springbuth o springlisher já seleciona aqui a versão estável do springboot aqui no caso é a 3.1.2 Então vamos deixar na versão mais recente aí possível como Project meta deita aqui são as informações sobre o seu projeto então o grupo aí de geralmente é o
domínio né da empresa em que você tá trabalhando dos seus estudos aí no caso como a gente tá aqui na dia eu o domínio da diy então eu inverti o domínio que é o padrão que a gente geralmente usa né Mi ponto de iou e aqui eu preferi refletir no pacote também o nome do grupo né aqui no pacote você poderia customizar e deixar algo mais específico dependendo da sua necessidade eu gosto aqui de usar o packer name igual o grupo aqui nesse caso eu configurei dessa forma no arte effect e no Name é basicamente
o nome do projeto que a gente quer desenvolver no caso aqui eu coloquei Santander David 2023 a gente vai explorar aí o domínio bancário dentro dessa pi vai ser bem legal e aqui uma descrição do que que é esse projeto se você quiser deixar um pouco mais claro então coloquei aqui que é uma apires full Java né criada para Santander deve Week legal e para finalizar aqui essas configurações mais iniciais a gente pode selecionar entre já e o ar aqui na parte de packing por padrão Spring boot vai gerar um Java um Java executável né
vai gerar um jarro ali e ele vai rodar como um processo como um tom quietinho vedado então tem algumas características bem interessantes que fazem o Deploy dele ser mais simples né e mais legal pode a gente gerenciar Então vamos deixar como já aqui que vai ser também o padrão que a gente vai utilizar para fazer o Deploy da nossa api na nuvem galera e para finalizar o Java aqui né a gente pode selecionar a versão a gente tá na Java 17 que é a última LTS aí é que a versão de suporte de longo prazo
aí né do Java Então vamos usar aqui o Java 17 que vai ser uma versão bem estável e interessante para a gente explorar as features mais novas aí ela já é selecionada por padrão porque a versão do Java LTS mais estável dentro desse contexto de configurações aqui de projetos Spring boot Fechou então Sucesso galera agora a gente precisa só entender porque essas dependências estão aqui né então a gente vai usar o Spring web para ter todas as Abstrações de apis tipo disponibilizadas pelo Spring então Spring web tá aqui para isso a gente vai usar o
Spring Day JPA para ter também todas os tem que ser Abstrações do Spring para acesso a bancos de dados relacionais né bancos de dados SQL então a gente não quer ficar se preocupando muito em criar carries em fazer conexão com o banco de dados em gerenciar esse público de conexão então a gente vai usar o Spring data JPA para tirar essa complexidade da gente e poder ajudar a gente a criar essa conexão de uma maneira mais simples e rápida e como bancos de dados relacionais efetivamente a gente vai selecionar dois aqui galera que é o
H2 deita base e o post porque a gente está selecionando dois bancos de dados né O H2 a gente vai usar no nosso profile de desenvolvimento enquanto ouça Às vezes a gente vai usar no nosso profile de produção Então vai ser interessante para a gente poder fazer esse exercício de ter um perfil para um ambiente de desenvolvimento e um segundo perfil para o nosso ambiente de produção Então vai ser legal a gente poder verificar as variações desses perfis e as boas práticas que a gente pode estar usando em um e outro então por isso que
a gente tem dois bancos de dados diferentes O H2 Vai facilitar muito porque é um banco de dados que a gente não precisa instalar nada na máquina o banco de dados em memória então para ambiente de desenvolvimento ele vai servir lindamente aqui para gente beleza então uma vez que o projetinho aqui Spring boot tá configurado galera O que que a gente pode fazer a gente pode dar um generate aqui que ele já vai criar o projeto para gente né então esse botãozinho Generation aqui ó clicamos aqui ele vai gerar um zip já com o projeto
totalmente configurado isso é show de bola galera E além disso vocês podem compartilhar essa configuração que vocês fizeram aqui com outras pessoas Então você pode clicando no botãozinho shere ali ó ele vai abrir essa o papizinha onde você pode copiar um URL aonde vai ter todas essas configurações e qualquer pessoa abrir aqui ó aquele link que você compartilhou as configurações vão ser carregadas ó então exatamente iguais as que a gente tava na nossa abinha aqui Fechou então o Spring nicer ajuda muita gente a realmente Conseguir configurar um projeto de uma maneira super rápida e totalmente
padronizada aí é seguindo as melhores práticas e dependências do Spring Fechou então legal demais a gente já tem o nosso projeto gerado aqui né então se eu quiser abrir aqui ele né importar ele em uma ideia basicamente que eu tenho que fazer é extrair esse projetinho aqui então Vou extrair aqui na minha pasta de downloads mesmo só para a gente poder exercitar e exemplificar beleza uma vez que ele foi extraído toda a estrutura já tá disponível aqui galera então o que que a gente vai fazer agora eu já deixei as duas principais ideias aqui né
Java baixadas aqui na minha máquina e a gente vai usar tanto o eclipse quanto intelli para importar esse projeto para que vocês vejam que é super simples em ambas as ideias né Essas duas ideias são as mais utilizadas para projetos de aba você poderia usar também o vscode vai a ideia da sua preferência na verdade a gente recomenda que você sempre utilize a ideia que você é mais produtivo né então aqui a gente vai mostrar e exemplificar aqui a importação nessas duas ideias Beleza então vamos começar pelo Eclipse vou abrir aqui o eclipse Então já
tenho aqui um workspace da dia eu vou abrir ele e a gente vai importar o nosso projetinho então show de bola né então eu vou deixar ele limpinho aqui né sem nenhum projeto então nosso Eclipse está zeradinho aqui né como se não tivéssemos importado nenhum projeto antes então que a gente vai fazer pion Import existis gradle Project vejam galera que se você estivessem escolhido o maven como ferramenta de gerenciamento de dependências e build Vocês poderiam colocar aqui como exista em maven project ao invés de gradle projects e vocês importariam Da mesma forma Beleza então existing
gradle Project next next aqui também ele vai configurar a versão do gradle se vocês quiserem modificar isso se fizer sentido para o contexto de vocês vocês podem fazer e aqui no último passo ele vai identificar que esse é um projeto né estruturado né com o brado e aí quando eu der um finish ele vai importar o projetinho e a gente já vai ter esse projeto no nosso workspace ó veja aqui galera já tá configurado Então olha que massa ó vou até aumentar um pouquinho aqui a fonte ó bacana né galera super simples o projeto já
tá importado Eu gosto bastante de deixar o nome dessa primeira classe aqui como só application né que é bem mais comum então vamos deixar ela só como application aqui no nosso contexto e basicamente ela é a classe que vai inicializar o nosso projeto springboot então se eu clicar com o botão direito aqui pedir para rodar no Eclipse vocês vão ver que ele já vai usar todas as configurações que foram feitas aqui né E já vai inicializar Nossa aplicação Olha que legal ó então aqui ele já até mostrou né que a aplicação foi iniciada em 4
Segundos aí ele já até criou uma conexão aqui galera olha que legal com o H2 em memória então ele já criou uma conexão para gente então todo o projetinho já tá configurado com base em que um base nas dependências que a gente configurou lá então vejam que a dependências que a gente selecionou né lá no springstellagem Tão todas aqui né então desde o Spring data JPA o Spring web aqui também O H2 e o postsql como dependências de runtime aqui para o nosso banco de dados Então tá tudo aqui veja que é bem simples de
entender a estrutura e ele já deixou ela bonitinha aqui para gente legal então a gente já viu como importar no Eclipse já tá rodando no Eclipse aqui inclusive né e agora a gente precisa ver como que isso funcionaria lá na inteligente então bora lá não inteligei galera vai ser exatamente a mesma coisa então eu vou abrir aqui o inteligente também eu tô com a versão eu gostaria de abrir um novo projeto Então vem aqui em open em downloads aqui ele já encontrou o nosso Santander 2023 Então vou dar um ok nele legal e aqui ó
olha que legal ele Já identificou que a gente abriu esse projeto como um eclipse Project E aí ele pergunta ó você quer importar ele como um eclipse Project ou como um bradon Project no nosso casotti para ele importar mesmo do zero então ó ele já começa também o processo de build aqui embaixo né então todo o processo de importação do projeto build ele começa a fazer todo toda essa configuração assim como o eclipse fez da forma dele lá também né então aqui a gente já tem também a estrutura de projeto pronta Então a nossa classe
application tá aqui também Então olha que legal galera e aqui ó no intelli se a gente der o playzinho aqui ó usando a própria interface dele ele também vai compilar e executar para a gente o nosso projeto tá então bem simples também né vocês vão ver que a gente vai ter exatamente aquele mesmo pela mesma característica né aquele não rodou porque porque a gente já tá usando a porta lá no projetinho do Spring né então preciso parar aqui porque a porta 8080 já tá sendo usada então se eu pedir para rodar de novo agora ele
vai vai funcionar então vejam galera aqui simples né a gente importou em um minutinho em cada IDR aqui ele subiu também ó com as mesmas configurações que a gente viu lá o eclipse rodando e funcionando né tá com uma conexão também aqui com H2 Então tudo certinho com os nossos ambientes né tudo funcionando tudo rodando aqui no intelligei a gente tem até algumas facilidades aqui de visualização Eu gosto bastante dessa visão dele de produção que ele mostra apenas a pastinha Amém e a pastinha de cerdas que geralmente são as pastas de projeto que a gente
mais utiliza então daqui para frente a gente vai escolher uma ideia né no caso aqui eu vou deixar de ser o tiozão do Java aí tios Eclipse a galera reclama bastante que eu uso bastante o eclipse nas nos meus conteúdos aqui na dia eu então vou sair da minha zona de conforto Total aqui com Eclipse eu realmente eu acredito que eu tenha mais produtividade Porque eu conheço os atalhos e tudo mais mas eu gostaria de conhecer mais sobre inteligei de realmente ser produtivo nele também então vou até fechar o eclipse aqui e a gente vai
de Intel DJ daqui para frente a gente tá usando inteligente na última versão com a minha Elite dele ele já tá com a nova interface que ficou bem bonita bem limpa ficou bem bacana mesmo então a gente vai com inteligente daqui para frente tá galera Então vamos para cima Vamos ver aí o que mais a gente pode estar desenvolvendo nesse projeto [Música]