Spring Boot Microservices 02 - Modularizando o Projeto
ฝัง
- เผยแพร่เมื่อ 6 ก.พ. 2025
- Spring Boot Microservices - Modularizando o Projeto
Visite nosso site para mais informações: devdojo.academy
Dúvidas e/ou sugestões: william.suane@devdojo.academy
Código Fonte: github.com/dev...
Para tudo de interessante que nós vamos fazer, só no nosso
Facebook: / devdojobr
Professor, eu sempre venho nos comentários lhe agradecer pois suas aulas são muito boas!!!! Obrigada por compartilhar :D
Muito obrigado pelos comentários, fico feliz que as aulas tenham te ajudado
Seu domínio sobre o conteúdo é excelente. Gostei bastante de como você dividiu os módulos do projeto. Isso se assemelha muito com oque fazemos em projetos da vida real.
Valeu Eliakim. Ele foi baseado em projetos que eu faço no dia a dia. Fico feliz que tenha gostado.
Excelente William, tudo rodando, tudo certo até agora....maravilha as aulas...vamos que vamos, parabéns e obrigado!!!
Top de mais. parabéns pelo curso cara, eu estou aprendendo mais aqui do que em muitos cursos que já fiz pagando. Grande abraço !
Valeu pelo comentário Adriano
Parabéns excelente trabalho.
Obrigado pelo curso! Top!
Que aula foda, sensacional.
Po mesmo tanto tempo depois da pra fazer de boa seguindo o video
Excelente William, cara estou aprendo muito com seus videos e ensinamentos muito obrigado!!!
Fico Feliz em saber, obrigado pelo comentário
Você pode clicar no icone de tools ao lado de minimizar do Project, lá tem uma opção "Compact Middle Packages" ele vai separar seus pacotes e vc vai conseguir criar os subpacotes tranquilamente!
Haha Salvador da pátria
para quem usa macOs é show de bola, agora pra quem usa windows, tem muita informação vaga.
hum.. qual informação?
very clear and detailed steps
thank you
muito show. Seguiu o padrão de organização Monorepo
Você também usa ?
@@DevDojoBrasil sim. Acho melhor do que ficar incluindo como dependências de outros repositórios
Explica ai como vc vai escalar seus serviços sem escalar a aplicação toda?
Show!
uma unica duvida é, sei que isso tambem varia de desenvolvedor mas: existe mt diferença modularizar todas ou quase todas as dependencias num pom.xml "central" igual ao projeto? ou eu posso fazer isso sem ter um pom central e adicionar as depencias necessarias em cada service e dará na mesma?
não sei se deu pra entender a minha duvida mt bem kkkkk, mas se der pra entender e conseguir responder agradeço kkkkk
Excelente curso William, sabe se tem alguma forma de automatizar o start de todo mundo, na vdd eu sei q deve ter varias formas, mas queria uma clean pra usar tanto em prod quanto em dev(intelij)??? Vlw denovo pelo Curso
Cara, teria via script, bash ou bat. Em prod pode ser usado o mesmo ou algum gerenciador de container como k8s
Willian, muito obrigado pelas excelentes aulas. Tenho uma duvida: Modularizar projetos nao vai contra o conceito de microservices ? Ou seja, cada modulo nao deveria ser um micro serviço independente ?
Mas eles são.
Essa de criar um módulo "na mão" e depois usar a IDE complica o lado de quem está usando uma IDE para agilizar o processo (meu caso é o eclipse) porque todos os passos que você fez tive que pular no meu, agora que estou tomando um erro quando dou o install... tenho que fuçar na internet. Mas tirando isso, as aulas são muito boas!!
Depois que você aprende uma vez você já faz do jeito certo de primeira na sua IDE
Sim! As aulas são ótimas não me entenda mal... pode não parecer, mas a intenção eram críticas construtivas rs.
Estou utilizando datasourceconfig para fazer conexão com o banco e outro módulo com conteúdo como course, vamos dizer módulo A e módulo B.
Terei de criar outra conexão com o banco de dados para o B certo?
No meu caso testei isso e não deixa passar porque o B teria de escanear os mesmos diretórios que o A utiliza para repositories e models.
Isso é um erro específico do datasourceconfig ou o docker também gera esse erro?
Se gera, existe meio de corrigir que mantenha a utilidade do core separado?
Você tá tentando criar um jar com o datasourceconfig e compartilhar com os módulos a e b?
@@DevDojoBrasil Não, segui as aulas e resolvi testar o seguinte cenário:
Hipoteticamente digamos que farei um projeto grande, onde não tenha apenas o módulo Curso, mas tenha também o módulo RH, para reutilização de código eu usarei a mesma entidade pessoa para aluno que está em curso e empregado que está em RH.
Esta entidade possui o mesmo repository.
Meu datasource em curso e em rh terá o mesmo basePackages porque tudo foi levado para o módulo core. É nesse ponto que ocorre o erro.
.
"The bean 'RepositoryX', defined in br.example.moduleN.repositories.RepositoryX defined in @EnableJpaRepositories declared on ServiceX, could not be registered.
A bean with that name has already been defined in br.example.sig.moduleX.repositories.RepositoryX defined in @EnableJpaRepositories declared on DatasourceConfig and overriding is disabled.
Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true"
.
Eu tanto renomeei o anotation do bean quanto pus o overriding e não funciona.
Quero saber se com o docker da o mesmo erro ou esse esquema só serve para sistemas que tenham apenas um módulo lendo os repositories.
@@moezioleivas o problema não tá no docker. O docker é só um container, o problema que você vê na máquina local vai ser o mesmo que você vai ver no docker.
Eu teria que tentar fazer o setup do que você tá falando pra ver como resolver. No meu caso eu colocaria um serviço responsável por esses dados e só compartilharia o modelo, no caso o pojo representando a entidade.
@@DevDojoBrasil remover os repositories do core iria desvirtuar seu ensinamento, mas acho que esse vai ser o único caminho já que não consigo fazer a sobreposição. Sem falar que teria vários repositórios para a mesma entidade.
Se não tiver nenhum projeto para o futuro fico feliz se colocar o tema "dois datasouces lendo o mesmo repository" em pauta.
De qualquer forma obrigado pela atenção.
@@moezioleivas na próxima vez que voltar nessa playlist eu vou lembrar disso. Boa sorte
Cara se tiver como por gentileza renomear os arquivos com outro nome tipo: pom2.xml ou pomAlterado.xml pra gente não precisar ficar começando do zero o curso de novo(naõ sei, talvez seja padrão tem q ser com o mesmo nome. Esse é meu primeiro curso microservice), muito obrigado pela explicação.
Preferencialmente tem que ser pom.xml
quem usa STS como eu e não sabe configurar modules nele. Recomendo esse site www.javatpoint.com/spring-boot-multi-module-project
poderia explicar melhor como você fez? você praticamente recomeçou um novo projeto e foi refazendo? ou você conseguiu fazer esse esquema de abrir em pastas e criar as informações na pasta acima do projeto como o Willian fez? vlw
Os módulos não são microsserviços !!
Calma jovem, você tá na aula 2.