Spring Boot Microservices Project Example - Part 1 | Building Services

Sdílet
Vložit
  • čas přidán 16. 07. 2024
  • Source Code
    github.com/SaiUpadhyayula/spr...
    00:00 - Introduction
    02:38 - Solution Architecture of Microservices
    05:16 - Logical Architecture of Services
    06:17 - Your First Microservice
    07:39 - Implement Product Service
    22:07 - Manual Testing through Postman
    23:24 - Implement Automated Tests
    24:19 - Test Containers
    29:28 - Write Integration Tests
    44:50 - Generate Order Service
    47:19 - Implement Order Service
    01:03:35 - Test Order Service
    01:05:58 - Generate Inventory Service
    01:06:50 - Implement Inventory Service
    01:19:44 - Migrate to Maven Multi-Module Project
    01:32:45 - Bugfix in Inventory Service
    ⭐️⭐️You can check out other Full Stack Project Oriented Tutorials in my Channel ⭐️⭐️
    Spring Data MongoDB Tutorial: • Spring Boot Testing Tu...
    Spring Boot Testing Crash Course Tutorial: • Spring Boot Testing Tu...
    ⭐️⭐️ You can follow me on Social Media through the below Links⭐️⭐️
    Twitter: / sai90_u
    Blog: programmingtechie.com/
    Dev.to: dev.to/saiupadhyayula
    Facebook Page: / programmingtechie

Komentáře • 324

  • @ProgrammingTechie
    @ProgrammingTechie  Před 5 měsíci +21

    NOTE: This tutorial is using outdated as it's using Spring Boot 2, I am working on an update for this tutorial. Please refer to the github repo, whenever you are facing any issue with the dependency or compilation errors: github.com/SaiUpadhyayula/spring-boot-microservices

    • @Garchomp10501
      @Garchomp10501 Před 5 měsíci

      Thank you for update i was trying to figure out testcontainer but seems like they have changed too looking forward for updated video

    • @prasadnaik2701
      @prasadnaik2701 Před 5 měsíci +1

      Hi Sai @ProgrammingTechie
      When w will be launching updated version of this tutorial using spring 3 and also please add jwt tokens add one more service like user service that would be very helpful bcz of in springboot 3 majority was changes in jwt and tokens

    • @liongh8994
      @liongh8994 Před 2 měsíci

      What is the name of the theme in ur intillia

    • @arunabhtiwari4771
      @arunabhtiwari4771 Před 2 měsíci +1

      Hi ,
      Could you please tell when will the updated version of the course will come out. please add jwt tokens

  • @nandk98
    @nandk98 Před dnem

    A very ambitious project and a comprehensive presentation too. From 2 different database services, where the first is a docker image and the next a physical one, stateful and stateless services, inter service communication, Junit and integration testing, pre-configuring data in the tables and dto and much more; all in Part-1 of the video itself. That would take a large volume book to present to cover. And your clarity of presentation is amazing. Could all these be accomplished in just 95 minutes. I am in awe! Thanks a lot!!👋👋

  • @jaymartinez311
    @jaymartinez311 Před rokem +5

    I appreciate the course and I shared it across all my social media outlets. Thank you for the free content. 🙏🏾

  • @wecode9424
    @wecode9424 Před rokem +5

    Fantastic walk through into key concepts in microservices touching the most important points and straight to the point. Keep up!

  • @shwetabhat9981
    @shwetabhat9981 Před 2 lety +15

    Woah !! Much awaited . Thank you for all the efforts sir 🙂 Really looking forward to this learning curve

  • @fvagvTV
    @fvagvTV Před 6 měsíci +3

    I have been searching, reading and passing through courses, videos and blogs on microservices and architectures for the past week - this is by far the best tutorial for now which I have came across. Good job and thank you for the quality content!

  • @cosmin_anton3995
    @cosmin_anton3995 Před 6 měsíci +8

    Tbh the best tutorial found online. Your skills in explaining, presenting all of the key concepts, good practices and steps are amazing.
    You've earn my respect. Love from Romania

  • @mostainahmed3125
    @mostainahmed3125 Před rokem +4

    One of the best content ever. Highly practical. Thanks man. Really appricated.

  • @maneshipocrates2264
    @maneshipocrates2264 Před 2 lety +3

    Thank you very much! Been learning spring but not certain about putting it together so simple.

  • @peterbarts8351
    @peterbarts8351 Před 8 měsíci +2

    What a wonderful tutorial! Key concepts from A to Z levering high level knowledge to all of us. Thank you very much for sharing your knowledge, great teacher!

  • @jimbo5437
    @jimbo5437 Před 6 měsíci +1

    Easily the best tutorial. Cheers from USA. Thank you!

  • @huseyinturkmen06
    @huseyinturkmen06 Před rokem +8

    Very usefull video but i think u forgot a little point that can make confused a programmer who hasn't experience so much about spring.
    The point is that you had created a db named "order-service" in mysql before running the order service but if i havn't missed you didn't show it in the video but you showed the right way of it while running the inventory-service.
    Summary: You should have created the database in mysql management interface with the same name in application.properties before running the API or you will be having an annoying error which isn't easy to solve without knowing this ))

  • @abhishekgowlikar
    @abhishekgowlikar Před 6 měsíci +1

    So much detail never seen video like before, Hats for the patience and teaching.

  • @xuaniennguyen6573
    @xuaniennguyen6573 Před 2 lety +2

    Thanks. The video is very helpful for me. Hope to see part 2 soon.

  • @kantanaik1822
    @kantanaik1822 Před 2 lety +1

    Thanks man!!! 😊
    Just started learning about Microservices and found ur channel. It's really helpful.

  • @kandaswamygopinath6490
    @kandaswamygopinath6490 Před 2 lety +1

    You channel has been amazing. I have learnt a lot from this.

  • @danicazdravkovic8127
    @danicazdravkovic8127 Před rokem +1

    Very useful tutorial, helped a lot! Keep on filming these wonderful videos!!!

  • @nandkumarjawale9919
    @nandkumarjawale9919 Před rokem +1

    This is a gem. Thank you so much!

  • @sriplano748
    @sriplano748 Před rokem

    Detailed yet crisp presentation.

  • @beaumontmuni4294
    @beaumontmuni4294 Před rokem +1

    wow ... this is one awesome tutorial ... fantastic and much much appreciated. 👍 Thank you very much.

  • @dhineshr8918
    @dhineshr8918 Před 2 lety +1

    Thanks, bro, nice explanation waiting for the second part of the video

  • @firozgg7524
    @firozgg7524 Před rokem

    Thank you so much for the multi-module section❤

  • @surendrasahni8725
    @surendrasahni8725 Před rokem +1

    Awesome 🙏 Thanks to support with live project

  • @AmareshHD
    @AmareshHD Před 2 lety +3

    Really nice I was looking for the same tutorial thanks a lot

  • @vivianfreitas9726
    @vivianfreitas9726 Před 3 měsíci +2

    Camaba KKKK Você explica muito bem. EU tinha comprado um curso na Udemy sobre microsserviços, mas eu não gostei da didática do professor. Pedi reembolso e achei essa maravilha no youtube HAHAHA Parabéns pela playlist criada. Você com certeza ajudou muitas pessoas.

  • @utkarshk2
    @utkarshk2 Před rokem

    Nice presentation, to the point . thanks a lot .
    Waiting for part 2 . Already subscribed.

  • @ChandlerBing11
    @ChandlerBing11 Před 2 lety +1

    That's a really insane content. Thank you so much

  • @augustomartins2008
    @augustomartins2008 Před rokem

    Perfect. Keep up the excelent work sir.

  • @IvanRandomDude
    @IvanRandomDude Před 2 lety +29

    Just a hint: you don't need to create new package and then new class inside it. You can name your class packagename.Classname and the package will be create automatically. Quicker

  • @tippabatinisantoshkumar2931

    Simply superb... 👏

  • @Siva_n1505
    @Siva_n1505 Před rokem +4

    Hope this would be one of my favorite channels. Great stuff. Request you to publish more videos

    • @ayushkumarsone4401
      @ayushkumarsone4401 Před rokem +1

      Hii Bro .. I m getting Could not find a valid Docker environment after writing integration test and running test please help

    • @rishiraj2548
      @rishiraj2548 Před rokem

      I, too, hope so. I found this playlist and channel just now.

    • @ajumobimunira3999
      @ajumobimunira3999 Před 11 měsíci

      ​@@ayushkumarsone4401
      Same here, it's saying could not find valid docker environment after running the code

  • @saketsourav31
    @saketsourav31 Před 2 měsíci

    Exactly what I was looking for, great content 🙌

  • @anjanik7053
    @anjanik7053 Před rokem

    Explanation technique is very nice.. and all the small thing which you have used .. explained nicely 🙏

  • @sajeeshkumar4510
    @sajeeshkumar4510 Před rokem +1

    Nice presentation. Learned a lot here. Thanks

  • @ghislaincabrel3880
    @ghislaincabrel3880 Před 2 lety +1

    Thank you for this amazing content.

  • @user-ne1be6td2y
    @user-ne1be6td2y Před 2 lety +1

    Thank you for this!

  • @tutosolve
    @tutosolve Před 5 měsíci

    I extremely appriciate What You have done, Great. From King Vietnam

  • @ToiBroCode
    @ToiBroCode Před 9 měsíci

    Thanks bro, I learned a lot. Learning is a series and Series is also a learning. 😀

  • @anithak6650
    @anithak6650 Před rokem

    Thank you!Nice project on Micro services .

  • @aadiraj6126
    @aadiraj6126 Před 2 lety +5

    Thank you 🙏 Despite knowing all these subject, still we love to hear from you bcoz of your product quality, & also bcoz we often get to learn something new from u😁

    • @ProgrammingTechie
      @ProgrammingTechie  Před 2 lety +3

      Thank you. This is going to be in-depth tutorial than the previous series 🙂

    • @codegeek8256
      @codegeek8256 Před 2 lety

      I always learn new thing on each video. very helpful and impactful.

  • @krishnasmusicchart4897
    @krishnasmusicchart4897 Před rokem +1

    Excellent sir. Thank you

  • @dominus360
    @dominus360 Před 2 lety +1

    That a good content man. Keep it up !

  • @SampathkumarP
    @SampathkumarP Před 11 měsíci

    Fantastic video. Really appreciated. for the work

  • @vaishnavepranav7394
    @vaishnavepranav7394 Před 10 měsíci

    Excellent One. Thanks for the video.

  • @deanclancy6448
    @deanclancy6448 Před 2 lety +1

    Thank you. This is great.

  • @dineshreddy1822
    @dineshreddy1822 Před rokem +5

    I have done the playlist from this channel for Microservices architecture, and it immensely helped me in clearing my design round in the interview and I successfully able to clear the interview. Thank you so much my dear for the amazing content and efforts. Love🤗💝

    • @ProgrammingTechie
      @ProgrammingTechie  Před rokem

      Wow that's great to hear 👍

    • @BryanPham027
      @BryanPham027 Před rokem

      @@ProgrammingTechie I'm having a problem with Write Integration Tests in Product-Service. Can you help me? I sent the message through your Facebook Page.

    • @ProgrammingTechie
      @ProgrammingTechie  Před rokem +1

      ​@@BryanPham027 Send me an email at programmingtechie@gmail.com

    • @BryanPham027
      @BryanPham027 Před rokem

      @@ProgrammingTechie Thank you. I sent the email

    • @pawanverma2575
      @pawanverma2575 Před rokem

      @dineshreddy1822 Have you put the same project in ur resume please reply 🙏

  • @neerajrajak6150
    @neerajrajak6150 Před 6 měsíci +1

    Thanks for this wonderfull tutorial. This helped me a lot.

  • @SuperAkifraza
    @SuperAkifraza Před rokem +1

    Awesome tutorial thanks

  • @AshbelReinhard
    @AshbelReinhard Před 2 lety +1

    An effort much appreciated, Hats off @ProgrammingTechie

  • @tomasagustinpadilla3227
    @tomasagustinpadilla3227 Před 2 lety +1

    Hey!! This is great, thanks a lot!
    I just started studying microservices.
    Of course, there is a lot of theory... Having a more practical approach it sure helps a lot!
    Thanks

  • @udhayachandhar4770
    @udhayachandhar4770 Před 2 lety

    Excellent. Thank you so much

  • @umasg8621
    @umasg8621 Před rokem +1

    Thanks for the amazing content..!!

  • @arivan-amin
    @arivan-amin Před 6 měsíci

    Thank you for your great efforts, really good tutorial

  • @tabrezshaikh7705
    @tabrezshaikh7705 Před 2 lety +1

    Excellent!

  • @dakshdeepak7732
    @dakshdeepak7732 Před rokem

    This is really osm the way he is delivering the content superb his communication is super se uper we will follow u dear ...stay blessed 👏 Subscribed

  • @samahmahdi5511
    @samahmahdi5511 Před 9 měsíci

    Nice tutorial, many thanks

  • @victorcreed8989
    @victorcreed8989 Před 11 měsíci +5

    Instead of making ddl-auto to create-drop you can simply put condition in bean for Inventory service to check if table already has data using findAll() and if it's null only then insert data into table. That way you don't have to make any changes to properties file.

  • @pr.badritijane1316
    @pr.badritijane1316 Před rokem +1

    Merci bcp c'est super bien expliquer 🙏🙏

  • @ascar66
    @ascar66 Před 2 lety +2

    thank you, nice video

  • @Satishkumar-rx7oy
    @Satishkumar-rx7oy Před 2 lety +1

    thanks sir this is the great one..

  • @ysairamkrishna6936
    @ysairamkrishna6936 Před 2 lety +1

    Thanks for the video

  • @miajia5151
    @miajia5151 Před rokem +1

    谢谢!

  • @TechJunc
    @TechJunc Před 2 lety +2

    I am not someone who writes a comment regularly or likes a video. But I have to say about this video: well job done!

  • @aviator9728
    @aviator9728 Před 2 lety +2

    Thanks for covering docker Nd kubernetes please make series I'll do along with you

  • @coderkamath7394
    @coderkamath7394 Před rokem +1

    Would be nice to have a chat feature too for learning the web Sockets, but overall impressive stuff.

  • @Yourmothersmuff
    @Yourmothersmuff Před rokem +7

    Hi Can you implement a CICD piple line to this at the end? Thank you for implementing all the technologies your tutorials are awesome.

  • @melihcankilic5918
    @melihcankilic5918 Před rokem +1

    thank you bro, it is very good.

  • @elyorkarimov2203
    @elyorkarimov2203 Před rokem +1

    thank you very much

  • @pr-nine
    @pr-nine Před rokem +1

    Thank you :)

  • @MilsonPazienza
    @MilsonPazienza Před 2 lety +1

    Thanks big bro

  • @amrabdelhady
    @amrabdelhady Před 8 měsíci +1

    Thanks!

  • @user-dt9nn6ri9s
    @user-dt9nn6ri9s Před 2 měsíci

    Thank you very much from Russia! Go on brother

  • @samirpanchal5883
    @samirpanchal5883 Před rokem +1

    Those who are facing problem recognizing inventory or order service module in intellij try following steps:
    go to File->project structure->click on modules tab on the left side-->click on the plus icon-->click Import Module --> and select module from the popup and hit OK.
    If your submodule is not visible then make sure you extracted in the right folder or reload project from disk.
    Hit like if it solve your problem so others can see it. I wasted 1 hour on this issue
    AND thanks for this course.

  • @senthilmurugangsm
    @senthilmurugangsm Před rokem +1

    Thanks for the clear and detailed real time project. What's the benefit of using RequiredArgsConstructor instead of Autowired annotation to inject repo class?

  • @paragsarkar6327
    @paragsarkar6327 Před 2 lety +3

    This is too good do add kubernates and docker here to deploy to gke and then I do not have to buy any other courses or visit anyone other tech coding channel

  • @shivambaghel9668
    @shivambaghel9668 Před 2 měsíci

    Best tutorial of Micro Service found till now

  • @turgaycabalak9712
    @turgaycabalak9712 Před 2 lety +1

    Thank you so much for the lecture. Btw I used the docker image for mongo and used the properties like below:
    spring:
    application:
    name: product-service
    data:
    mongodb:
    auto-index-creation: 'true'
    authentication-database: admin
    database: product-service
    username: root
    password: root
    port: '27017'
    host: localhost
    instead of defining uri. That's why I'm little confused especially in the integration test(because you are using uri there but i don't have). Still it is going well please keep going. Appreciated...

    • @IvanRandomDude
      @IvanRandomDude Před 2 lety

      You can use both ways, just make sure you don't MIX them lol

  • @ngocanhhoang7522
    @ngocanhhoang7522 Před rokem

    good job bro

  • @user-uw8eq1xw3h
    @user-uw8eq1xw3h Před 7 měsíci +1

    Hi Sir , Firstly Thank you for your great work !! As a Beginner It is helping alot !! Can you also please share the Database scripts for creating the Table structure as well . So that it would be easy to execute and run the application . Like Order service , Inventory service scripts.

  • @yuuuya3236
    @yuuuya3236 Před 2 lety +1

    thx, bro

  • @rockdynamics7766
    @rockdynamics7766 Před rokem +1

    This videos is so helpful to me .Pls where is the kubernetes deployments tutorial ?

  • @tarunsoni6971
    @tarunsoni6971 Před rokem +2

    Great tutorial, One thing which I noticed right after 1hr in the video that when you were creating repository and service references in the Service and Controller classes you wrote it like you were going to use the @Autowired annotation there but instead you went with a constructor injection which means reference will be initialized at construction time but then didn't use the annotation which left me wondering that now spring won't be managing that object neither creating and nor destroying and won't inject and inside that constructor which will be created by lombok will have a new key word in it to initialize the object?

  • @kennedydre8074
    @kennedydre8074 Před rokem +1

    Also, is there some way to run validation on the request object in the API layer (I would like to fail early)? Something like Joi but for Java? This is also to ensure that all required fields are passed.

  • @catty1020
    @catty1020 Před 2 měsíci

    Great video with in depth explanation of concepts. If anyone can help me it would be great, I am actually facing an issue where on compiling the project the tomcat port and connection is not showing up the messages like it did in the video at 22:09 minute. I have downloaded the plugins, and tested the connection.

  • @shreyasvaghasia7175
    @shreyasvaghasia7175 Před rokem

    Best Video, Can u pls make videos on Docke,k8s and AWS?

  • @prog_ramming_brains
    @prog_ramming_brains Před 2 lety

    Hi sir,your videos are really good,they are the best in the internet..Is this a different microservices series from the earlier one?

    • @world4376
      @world4376 Před rokem

      Hi when creating maven Project which options I have to select either webapp or simple j2ee

  • @salah-eddinesalam2518
    @salah-eddinesalam2518 Před 2 lety +7

    Hi @Programming Techie, Thank you for the great content, i have some questions please:
    how many parts gonna be in this series ?
    when you gonna release the next video ?
    Can't wait to see how you gonna implement spring cloud gateway with Oauth 2 capabilities.

    • @ProgrammingTechie
      @ProgrammingTechie  Před 2 lety +8

      This is going to be 8-9 part series, next video is going to be released on Saturday.

    • @amarnathkumar2564
      @amarnathkumar2564 Před rokem

      @@ProgrammingTechie Are you sleeping?

  • @codegeek8256
    @codegeek8256 Před 2 lety +5

    Hi @Programming Techie i hope you are well. Thanks for this part 2 series, I can already see it is going to be exciting. Please introduce docker and kubernetes so that we can at a go orchestrate the services as they grow. And Please use Kafka this time around. I wish we could also add a UI service. Thanks very much. Your work is helpful and Impactful, Looking forward to what is coming.

    • @ProgrammingTechie
      @ProgrammingTechie  Před 2 lety +9

      Hi, there is no plan to add UI also this time, but I am going to use docker and Kubernetes in this tutorial.

  • @kumarchandravir6248
    @kumarchandravir6248 Před rokem

    adding the inventory serivce to the parent you might not get the application as runnable class. to fix that go the the "project structure -> modules -> click on + button -> select the inventory-service" this will do the job

  • @shivendratiwari3238
    @shivendratiwari3238 Před 2 lety +1

    Please make some videos on spring reactive

  • @user-cf7bi1tx1h
    @user-cf7bi1tx1h Před 7 měsíci

    1:28:48 I recently downloaded my projects from Spring Initializers. While it gave me spring-boot-maven-plugin .. there was no compiler plugin in the code generated by initializr. So as it wasn't there in single module projects, i'm not adding it in multi module project's root pom.

  • @safouenegharbi3133
    @safouenegharbi3133 Před rokem +1

    Thank you sir for this course ! Can you please add the diagram to the github repository. Or provide a link to get it please ? Thank you

  • @DaniilShevchuk
    @DaniilShevchuk Před 2 lety

    If I had to separate the model class from the product module, what is the best way to do it so that Springs sees the model?

  • @veluvarthi
    @veluvarthi Před měsícem

    How to configure intilij idea to show compile error while missing autoconfigiremvc , when we added mockmvc ? Please explain setting for that

  • @antonvovk8867
    @antonvovk8867 Před 3 měsíci

    Thanks for this wonderful content! Could you please advice why Ide does not allow me to Autowire Mock MVC and ObjectMapper in my ProductService tests? Autoriwing works fine for Product repository but not for the above (
    Test cannot not run because of this I assume.

  • @user-cf7bi1tx1h
    @user-cf7bi1tx1h Před 7 měsíci

    13:26 Is there any specific reason for choosing constructor injection instead of @Autowired in this case? Or both are same?

  • @bonton5081
    @bonton5081 Před rokem

    Brilliant!
    Unfortunatly i have no experience with docker and i got some error, someone can help me with some advice(link tutorial ecc) .
    thanks!

  • @Thegrammarschool
    @Thegrammarschool Před 2 lety +1

    ❤️

  • @SergioGonzalez-pq3gc
    @SergioGonzalez-pq3gc Před 5 měsíci

    Hi! Great video, I just wanted to know if you could shed some light into this warning of vulnerability within the dependencies of springframework that are highlighted by the IDE saying: vulnerability info for maven:ch.qos.logback:logback-classic:1.4.11. Is it something we should be concerned about? Is it exploitable? Thank you.

  • @ashu7pathak
    @ashu7pathak Před 7 měsíci

    Hey Great course! I saw the content and am mighty impressed. Just one request. Why don't you also make your course available on platforms like Udemy? That way i can pay 499, but i'll get a CERTIFICATE to show on linked in too. I know knowledge is the main reason, but i also want to be able to show what I know :)