Dependency Injection in Spring boot | With Advantages and Disadvantages

Поділитися
Вставка
  • Опубліковано 8 чер 2024
  • ➡️ Notes link: Shared in the Member Community Post (If you are Member of this channel, then pls check the Member community post, i have shared the Notes link there)
    ➡️ Join this channel to get access to member only perks:
    / @conceptandcoding
    Spring boot playlist: • Spring Boot from Basic...
    Pre-requisite: Java ( • JAVA from Basics to Ad... )
    Chapters:
    00:00 - Problem Exist today for Which Dependency Injection required
    04:08 - What is Dependency Injection and its Types
    07:43 - Field Injection and its Advantages and Disadvantages
    15:39 - Setter Injection and its Advantages and Disadvantages
    19:07 - Constructor Injection and its Advantages and Disadvantages
    27:29 - Circular Dependency problem and its Solutions
    35:56 - Unsatisfied Dependency problems and its Solutions
    #springboot #java

КОМЕНТАРІ • 56

  • @SoftwareEngineer2-ug5fl
    @SoftwareEngineer2-ug5fl 11 днів тому +2

    Awesome video. One request to all viewers, please ask more and more questions in the comment section. It will help others and specially beginner to get more clear view of topics.

  • @darksidekiller5300
    @darksidekiller5300 17 днів тому +1

    This was hands down the best Dependency Injection on UA-cam, I've seen this topic from literally every other UA-camr and no teaches with this much simplicity and depth...
    Can not thank you enough for providing this level of quality!

  • @in_tyler_we_trust
    @in_tyler_we_trust 25 днів тому +2

    Sir please continue this greatest spring boot playlist and hope to get more videos frequently...

  • @nileshpawar5150
    @nileshpawar5150 Місяць тому +2

    Very nicely explained

  • @baburaomulaparthi4531
    @baburaomulaparthi4531 Місяць тому +1

    Thanks bro
    Very Nice explanation

  • @motivation_hubPJ
    @motivation_hubPJ Місяць тому +7

    hi can you please share some open source java projects links which are nicely written web apps (follows solids & desgin patterns ) or which industry teams look for standardisation and reference. I know there are many but can't figure out the quality .

  • @mynksrswt483
    @mynksrswt483 Місяць тому +5

    For those who think they mastered this video after one watch, you might be underestimating things! Take a couple more views to really soak it all in. Trust me, giving it a few extra rounds now could save you from a major 'uh-oh' moment in production later. So buckle up and get comfy with this video! By the way, awesome job on the video, @shrayansh

    • @prof_as
      @prof_as Місяць тому

      thanks man, was thinking like this only. after i watched again i realized it.

  • @ashwanikumarpatel7460
    @ashwanikumarpatel7460 Місяць тому +1

    In production i always use @Service instead of @component, @Bean …when it’s initialised ?

  • @rahulas721
    @rahulas721 Місяць тому +5

    In the previous video you mentioned we can use @Bean to tell spring what values to pass in the constructor when creating the object.
    So suppose we have the following User constructor :
    @Autowired
    public User( String name, IOrder order )
    The order object is injected by using constructor injection. But how will spring know what value of name it has to pass?
    Do we need to define it using @Bean ( if yes then how will the code look like? ) or is there any other method?

    • @in_tyler_we_trust
      @in_tyler_we_trust 25 днів тому

      Did you find the answer to your problem?

    • @cozitsyash1301
      @cozitsyash1301 21 день тому

      We need to create a bean for String as well ..

  • @user-ie9yw4wr2j
    @user-ie9yw4wr2j Місяць тому +1

    Best videos !!!

  • @ericsiddiq7634
    @ericsiddiq7634 Місяць тому +1

    Thanks

  • @raghutata747
    @raghutata747 Місяць тому

    Hello Shryansh,
    Can we get more working examples of Dependency Injection.. May be used in some LLD Question, that will be even more helpful.

  • @randomguy4822
    @randomguy4822 Місяць тому

    Hi Shreyansh , i had one question, till when are you planning to cover up all the lectures , like by what month will all aspects be covered up

  • @Suyashlike
    @Suyashlike Місяць тому

    Hi Sheyansh, very nice video. One confusion I have is regarding last example in the video. Had the "Order" been a base class rather an interface, did we have to use primary or qualifier annotation? And by using these primary or qualifer annotation are we not breaking dependency inversion rule as we are depending on 1 concrete implementation out of many?

    • @ConceptandCoding
      @ConceptandCoding  Місяць тому +1

      good question buddy.
      Using @Qualifer, we do tell Spring to inject particular concrete class. But it does not break Dependency inversion principle. As our class still uses Abstraction only.
      But since we are not using @Bean and instead relying on @Primary or @Qualifier which tell spring, which dependency to use, when more than 1 bean present with same interface. (so its more of, that we are providing input to Spring, how to solve the dependency).
      But you can understand it better, if you try to use @Bean annotation in config class. And from there, you can control, which Bean to return whether OnlineOrder or OfflineOrder whenever Order Bean is requested. So now you will see that our class still follows dependency inversion, as no matter what concrete class object you will add, it will work.
      Hope that clarifies.

  • @narayangoyal295
    @narayangoyal295 Місяць тому

    Bhaiya , i love your videos, it will be very helpfull if you make some videos on crypotography
    i really need that

    • @ConceptandCoding
      @ConceptandCoding  Місяць тому

      hi pls check this one :
      ua-cam.com/video/GtSUeAkPEP0/v-deo.html

  • @Werewolf5684
    @Werewolf5684 Місяць тому

    Q1. @Qualifier("OnlineOrderName") : this is we are hard coding in the application write? let say we want now object of Offline Order in our User Object then how can we change that?
    Q2. Can we write this if we have multiple dependency in User class let say Order and Invoice
    @Autowired
    public User(Order order, Invoice invoice) {
    this.order = order;
    this.invoice = invoice;
    }

  • @Randomvideo2610
    @Randomvideo2610 Місяць тому +3

    for setter dependency injection it will inject dependency at startup time or we have to call setter function?

    • @ConceptandCoding
      @ConceptandCoding  Місяць тому +1

      at application startup, if its not marked Lazy

  • @dwivedishashank9
    @dwivedishashank9 Місяць тому

    22:01 - Not getting any exception when multiple constructors present without @Autowired and compile error is to be observed. Did anyone noticed this?

  • @shreyojitdas9333
    @shreyojitdas9333 Місяць тому

    sir whats next after this playlist?

  • @harshgarg0906
    @harshgarg0906 Місяць тому +1

    I have one question
    Suppose I have an Order Interface and I have two implementation i.e OnlineOrder and OfflineOrder
    Using the @Qualifier and @Primary I can decide at the start of the tomcat which one to use
    My question here is that Suppose when the request hit my controller and in the @PathVariable I put online then I need to use the OnlineOrder and if in @PathVariable I put the offline then I need to use OfflineOrder . So how at the runtime I can tell the Spring DI to use the desired bean depending on what is coming as Input . Is there a way to do this?

    • @ConceptandCoding
      @ConceptandCoding  Місяць тому

      yea you can do it. For that you need to use @Bean
      in that method you can put custom logic (if else condition) and return the object of Online or Offline which you required

    • @harshgarg0906
      @harshgarg0906 Місяць тому

      @@ConceptandCoding @Bean will also going to create the object at deployment time only
      and if i write the if else in controller method then Are we breaking the SOLID principal ?

    • @ConceptandCoding
      @ConceptandCoding  Місяць тому

      no, it will not break.
      And Today its how done in Live application too.
      choose object dynamically based on some input

    • @cozitsyash1301
      @cozitsyash1301 24 дні тому

      Great doubt bro

  • @sahilgarg3460
    @sahilgarg3460 Місяць тому

    Hi Shrayansh, can you reply on below 2 query?
    1. As a Java dev who is responsible for adding cicd in project in corporate
    2. In production, usually how logs are monitored

  • @aribesh
    @aribesh 27 днів тому +1

    Hi Shrayansh, I have purchased the membership. The notes are visible for now, but I read in the perks that the notes will have 2 years of expiry. So, after one month, when I am no longer a member, how will I be able to access the notes?

  • @nishaaa_maurya
    @nishaaa_maurya Місяць тому

    This concludes the Spring Boot tutorial. Are there additional tutorials planned for the future?

  • @naveentmyug
    @naveentmyug 13 днів тому

    At 14:06, while creating new object for USER class, why we got NPE for order, as while initialization ORDER is being injected in user parameters,

    • @suryabala6369
      @suryabala6369 13 днів тому +1

      Hi @naveentmyug did you get the answer for this?

    • @naveentmyug
      @naveentmyug 13 днів тому

      @@suryabala6369 nopes

    • @ConceptandCoding
      @ConceptandCoding  13 днів тому +1

      hi, if you are creating USER object using NEW , how ORDER member variable will get initialized.
      as its marked as AUTOWIRED. And spring will not initialize it automatically.
      there is Already 1 USER Bean present, which was initialized by Spring, but when you are creating using NEW, its creating new object.
      hope that clarifies.

    • @naveentmyug
      @naveentmyug 13 днів тому

      @@ConceptandCoding yes, now I am good with it. Thanks

  • @tarunprahladka3230
    @tarunprahladka3230 Місяць тому

    when we get the next videos for the playlist?

  • @DevanshChiluka
    @DevanshChiluka Місяць тому +1

  • @surajsri248
    @surajsri248 Місяць тому

    Can we inject more than one constructor in a class

    • @ConceptandCoding
      @ConceptandCoding  Місяць тому

      Yes, internally spring will pick the constructor with most dependency resolved.
      Try it out

  • @Cricket-xs1vc
    @Cricket-xs1vc Місяць тому

    Hi Shreyansh, I cannot find the notes for java playlist

    • @ConceptandCoding
      @ConceptandCoding  Місяць тому

      pls check member community post section buddy

    • @Cricket-xs1vc
      @Cricket-xs1vc Місяць тому

      @@ConceptandCoding got the notes thanks Shreyansh

  • @raghutata747
    @raghutata747 Місяць тому

    Hello Shryansh,
    When will the next videos be uploaded?

    • @ConceptandCoding
      @ConceptandCoding  Місяць тому

      i will work on this weekend, by next week

    • @raghutata747
      @raghutata747 Місяць тому

      @@ConceptandCoding Hello sir, Thank u so much. Please upload in bulk if possible. This is really helping me a lot, specially the way you cover interview expected questions. Exactly those questions are only asked.

  • @hamayonwazir9748
    @hamayonwazir9748 Місяць тому

    Hello how to get a membership of your channel being from pakistan?

    • @ConceptandCoding
      @ConceptandCoding  Місяць тому +1

      pls check description section, you will find the joining link buddy.

  • @kashishgarg1008
    @kashishgarg1008 Місяць тому

    dmp main 1 lakh ki internship mil rhi hai, video bana do