Spring Boot MicroServices Course: Implementing Catalog Service APIs

Поделиться
HTML-код
  • Опубликовано: 9 апр 2024
  • #sivalabs #java #spring #springboot #springcloud #microservices #restapi #rabbitmq #testing #junit #junit5 #maven #testcontainers #docker #kubernetes
    In this video, you will learn:
    ► How to organize code using Package by Layer and Package by Feature
    ► How to manage database schema migrations using Flyway
    ► Implement Get Products API with Pagination support using Spring MVC and Spring Data JPA
    ► Write Unit and Integration tests using RestAssured and Testcontainers
    ❤️ Thanks for watching
    References
    =============================================
    ⭐ Source Code: github.com/sivaprasadreddy/sp...
    ⭐ Spring Boot 3: Error Responses using Problem Details for HTTP APIs www.sivalabs.in/spring-boot-3...
    ⭐ Spring Boot REST API Best Practices - Part 4: www.sivalabs.in/spring-boot-r...
    ⭐ Spring Boot Tutorials: www.sivalabs.in/spring-boot-t...
    Connect with Me
    =============================================
    Blog: www.sivalabs.in
    RUclips: / sivalabs
    Twitter: / sivalabs
    GitHub: github.com/sivaprasadreddy
    LinkedIn: / ksivaprasadreddy
    Must Watch Videos
    =============================================
    🚀 🎬 Spring Boot REST API Anti-Patterns and Best Practices • Spring Boot REST API A...
    🚀 🎬 Modern Spring Boot Application Development using Java 17/21 and Testcontainers • Modern Spring Boot App...
    🚀 🎬 How do I upskill myself, and what tools & techniques do I use? • How do I upskill mysel...
    🚀 🎬 Top 5 Tips to Succeed in Technical Interviews • Top 5 Tips to succeed ...
    Popular Series Playlists
    =============================================
    🚀 🎬 Spring Boot Tips Series Playlist • Spring Boot Tips
    🚀 🎬 Spring Boot + Kubernetes Tutorial Series Playlist • Spring Boot + Kubernet...
    🚀 🎬 Spring Boot - The Missing Guide Series Playlist • Spring Boot - The Miss...
    🚀 🎬 Integration Testing with Testcontainers • Integration Testing wi...
    🚀 🎬 Java Testing Made Easy Playlist • Java Testing Made Easy...
    ⭐ Tags ⭐
    best spring tutorials, best spring boot tutorials, how to learn spring boot, mastering spring boot, complete java testing course, java testing best practices, how to build spring boot rest API, spring cloud tutorials, spring boot docker tutorial, spring boot kubernetes tutorial, how to become proficient in java, how to learn spring boot quickly, how to learn spring boot in-depth
  • НаукаНаука

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

  • @reallylordofnothing
    @reallylordofnothing Месяц назад

    I cannot repeat enough (as I have done in twitter too) This is great content. This is great content. This is great content.
    This was a great introduction to testing. This video will stand out for the focus on tests for those not used to testing frameworks in their firms.
    I will be more than happy to join and pay once I hit the paywall on video no 6 or 7. (sorry for these spam-like messages)

  • @srikanthreddy6991
    @srikanthreddy6991 Месяц назад

    Please continue quality content like this sir. Awesome real world content.. rarely we see this kind of content

  • @hamzaouni3009
    @hamzaouni3009 Месяц назад

    Thanks a lot for this great content.
    I prefer the use of TDD as it offers a more engaging approach to software development

  • @Amarpatil-zg2tz
    @Amarpatil-zg2tz Месяц назад

    Great Content! Ur All videos are full of knowledge. Thanks. Waiting for more content like this!!!

  • @prasanthsanjeevi2563
    @prasanthsanjeevi2563 Месяц назад

    Tons of thanks 🙏 for giving the valueable content for free

  • @AnuragMishra-ws4zc
    @AnuragMishra-ws4zc Месяц назад +1

    Great ❤

  • @BlankSlate5364
    @BlankSlate5364 Месяц назад

    Hi Siva, thanks for the valuable content. Can we use cucumber, karate & test containers to write integration test?. what's your thought on using this combination instead of rest assured & test containers

  • @lts8683
    @lts8683 Месяц назад

    many thanks

  • @bijeesraj007
    @bijeesraj007 Месяц назад

    This is Gold 🏆

  • @sujayrj
    @sujayrj Месяц назад

    The series is really good, please keep it coming.
    What is the code complete feature you are using in IntelliJ? Is there a separate plugin that is needed?
    Thanks again!

    • @sivalabs
      @sivalabs  Месяц назад +1

      I have GitHub Copilot plugin which gives me autocompletion suggestions. But it is a paid service.
      Recently Intellij IDEA also added Line Completion support, maybe you can try it also.

  • @geovannymendozagonzalez9119
    @geovannymendozagonzalez9119 Месяц назад

    Hi Siva excellent, this series of videos has really helped me a lot. I'm curious because you implemented the ProductNotFoundException in the Controller and not in the service. I have read in some books that it is better to leave that functionality to the service.

    • @sivalabs
      @sivalabs  Месяц назад +1

      From the Service, we can indicate to the client the absence of the Product for the given code in 2 ways. Either by returning Optional or by throwing ProductNotFoundException.
      I prefer to return Optional.empty() if the product doesn't exist because
      1) It is not actually an Exceptional situation, you are looking up data that doesn't exist.
      2) Returning Optional enables the client(in our case Controller) to use Java Streams API to take further actions in stream processing style using map(..) or orElse(..). If we throw an Exception we can't use stream processing style logic for further action.

  • @harshak1616
    @harshak1616 Месяц назад +1

    why are we passing repository or any service in constructor parameter instead of autowiring ?

    • @sivalabs
      @sivalabs  Месяц назад +1

      Because Field Injection is not recommended. To learn more see ruclips.net/video/koxu51eqDiQ/видео.html

  • @sakthinivas1840
    @sakthinivas1840 Месяц назад

    Thanks for your video! Test class for ProductService is not been created. Also, is unit/slice test required for controllers? currently there is integration test available for the same.

    • @sivalabs
      @sivalabs  Месяц назад

      There is no complex business logic in ProductService and the existing logic is already covered by the integration tests. So, didn't write any unit tests for ProductService class.

  • @azdanov
    @azdanov Месяц назад

    Hey. What would be the reason behind using a sequence that increments by 50? I've read that it's an optimization technique used in high concurrent scenarios to improve performance.

    • @sivalabs
      @sivalabs  Месяц назад +1

      Hi, this is an optimization done by Hibernate to reduce the nextval(sequence). For more detailed explanation see
      ntsim.uk/posts/how-to-use-hibernate-identifier-sequence-generators-properly

    • @azdanov
      @azdanov Месяц назад

      @@sivalabs thank you, very good article

  • @sujayrj
    @sujayrj Месяц назад

    @Siva - The Test written for Controller, was it Slice test or Integration test?

    • @sivalabs
      @sivalabs  Месяц назад +1

      The test written using @WebMvcTest is a slice test and @SpringBootTest annotated tests are integration tests.

  • @sakthinivas1840
    @sakthinivas1840 Месяц назад

    For some reason, the DML script V2__add_books_data.sql was not executed, only the create product table script was executed. Any idea how to solve this?

    • @sivalabs
      @sivalabs  Месяц назад

      Can you share the project on GitHub, I will check?

    • @sakthinivas1840
      @sakthinivas1840 Месяц назад

      @@sivalabs Never mind, I got it fixed, seems due to file naming convention, thanks

  • @harshitaahuja6870
    @harshitaahuja6870 Месяц назад

    Sir, Which K8s you'll use to deploy this project? I mean EKS, GKE, or Kubeadm at EC2? Will you use ingress and all with secret-manager/HarshicorpVault and certificate-manager for https? I want to know how much production ready course it'll be. Kindly reply. So far it is looking promising. Thanks anyway.

    • @sivalabs
      @sivalabs  Месяц назад

      In this fee course I am going to deploy on the local KinD cluster only.

    • @harshitaahuja6870
      @harshitaahuja6870 Месяц назад

      How many total videos it'll take sir? And in how many days? Can we complete the series by end of this April?

    • @sivalabs
      @sivalabs  Месяц назад +1

      @@harshitaahuja6870 There are still 12 to 15 videos to be recorded. Mostly by mid-May all the videos will be published.

  • @reallylordofnothing
    @reallylordofnothing Месяц назад

    Are you using postman on web or desktop?

    • @sivalabs
      @sivalabs  Месяц назад

      I am using Postman Desktop Client.