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
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.
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!
thanks
Sir please continue this greatest spring boot playlist and hope to get more videos frequently...
Very nicely explained
Thanks bro
Very Nice explanation
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 .
If you get any please mention here
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
thanks man, was thinking like this only. after i watched again i realized it.
In production i always use @Service instead of @component, @Bean …when it’s initialised ?
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?
Did you find the answer to your problem?
We need to create a bean for String as well ..
Best videos !!!
Thanks
Hello Shryansh,
Can we get more working examples of Dependency Injection.. May be used in some LLD Question, that will be even more helpful.
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
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?
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.
Bhaiya , i love your videos, it will be very helpfull if you make some videos on crypotography
i really need that
hi pls check this one :
ua-cam.com/video/GtSUeAkPEP0/v-deo.html
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;
}
for setter dependency injection it will inject dependency at startup time or we have to call setter function?
at application startup, if its not marked Lazy
22:01 - Not getting any exception when multiple constructors present without @Autowired and compile error is to be observed. Did anyone noticed this?
sir whats next after this playlist?
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?
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
@@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 ?
no, it will not break.
And Today its how done in Live application too.
choose object dynamically based on some input
Great doubt bro
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
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?
Any idea ?
This concludes the Spring Boot tutorial. Are there additional tutorials planned for the future?
yes
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,
Hi @naveentmyug did you get the answer for this?
@@suryabala6369 nopes
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.
@@ConceptandCoding yes, now I am good with it. Thanks
when we get the next videos for the playlist?
i will work on weekend
❤
Can we inject more than one constructor in a class
Yes, internally spring will pick the constructor with most dependency resolved.
Try it out
Hi Shreyansh, I cannot find the notes for java playlist
pls check member community post section buddy
@@ConceptandCoding got the notes thanks Shreyansh
Hello Shryansh,
When will the next videos be uploaded?
i will work on this weekend, by next week
@@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.
Hello how to get a membership of your channel being from pakistan?
pls check description section, you will find the joining link buddy.
dmp main 1 lakh ki internship mil rhi hai, video bana do