Learn Dependency Injection and Write Better Code

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ก.ค. 2024
  • Dependency Injection is a concept that you need to master. It helps to write code that scales and code that can be tested.
    Register your interested for bootcamp here: amigoscode.hopp.to/bootcamp-r...
    #amigoscode #dependencyinjection #java
    Don't Forget to
    ===========================================
    💯 Subscribe to Amigoscode - bit.ly/2HpF5V8
    💯 Courses Available for free here - amigoscode.com/courses
    💯 Join Private Facebook Group and Discord - amigoscode.com/p/join-community
    ⭐ Table Of Contents ⭐
    ===========================================
    00:00 - Intro
    01:31 - Dependency Injection
    21:15 - Outro
    🙊 Here are the goods for all my videos video 🙊
    ► Recommended Books
    ===========================================
    - Clean Code - amzn.to/2UGDPlX
    - HTTP: The Definitive Guide - amzn.to/2JDVi8s
    - Clean Architecture - amzn.to/2xOBNXW
    ► Computer and Monitor
    ===========================================
    - New Apple MacBook Pro - amzn.to/3464Mmn
    - Dell 27 INCH Ultrasharp U2719D Monitor - amzn.to/2xM3nW1
    - Double Arm Stand Desk Mount - amzn.to/3aYKKfs
    - USB C Hub Multiport Adapter - amzn.to/2Jz7NlL
    ► Camera Gear
    =============================================
    - Sony ILCE7M3B Full Frame Mirrorless Camera - amzn.to/346QIJn
    - Sigma 16 mm F1.4 DC DN - amzn.to/2wbic3Q
    - Sigma 33B965 30 mm F1.4 DC DC - amzn.to/39G37Fd
    ► IDE & Tools I use for coding 💻 🎒
    ===========================================
    - ITerm
    - VsCode
    - GoLand
    - IntelliJ Ultimate
    - Sublime
    P.S
    ===========================================
    💯 Don't forget to subscribe | bit.ly/2HpF5V8
    💯 Join Private Facebook Group and Discord - amigoscode.com/p/join-community
    💯 Follow me on Instagram | bit.ly/2TSkA9w
    ❤️ Thanks for watching
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 148

  • @amigoscode
    @amigoscode  2 ปีที่แล้ว +19

    Register your interested for Amigoscode bootcamp here: amigoscode.hopp.to/bootcamp-register-interest

    • @samuelflower226
      @samuelflower226 2 ปีที่แล้ว +1

      Can you please do a video on how to create a java resume or portfolio. Especially for a backed developer?

    • @michelchaghoury9629
      @michelchaghoury9629 2 ปีที่แล้ว

      Please can you make tutorials on DevOps, springboot BDD Testing, and more advanced topics and concepts, also how to do desktop app development with java

    • @JanardanMaithil
      @JanardanMaithil 2 ปีที่แล้ว

      Thanks for the video. Loved the Intellij theme you have. Which one is it?

    • @flyingrecordofficial
      @flyingrecordofficial 2 ปีที่แล้ว

      Salam Amigos

    • @contentparrot
      @contentparrot 2 ปีที่แล้ว

      Walikomasalam,
      Thank you for not using the music brother. May Allah be please with you. ❤

  • @terrah33
    @terrah33 2 ปีที่แล้ว +136

    Just a mention for the viewers: at @17:50 a class cannot be annotated with @Bean since its scope is limited to methods. Usually we use @Bean annotation on methods in a class annotated with @Configuration when we use external dependencies to generate beans for them. On the other hand, in order to mark a class as a bean we use the @Component annotation, which is a stereotype annotation (like @Service, @Repository and @Controller).

    • @erickjhormanromero6905
      @erickjhormanromero6905 2 ปีที่แล้ว +11

      Good to had done this clarification may be a newbie in programming could have been a little confused

    • @mayureshghodke7183
      @mayureshghodke7183 6 หลายเดือนก่อน

      @@erickjhormanromero6905 yeah....like me 😁...new in Spring

    • @victorbucci5760
      @victorbucci5760 4 หลายเดือนก่อน

      Thanks for the info. I'm actually one of these newbies. I use quarkus but I'm still learning how things work under the hood.

  • @Secretclaps
    @Secretclaps ปีที่แล้ว +5

    Amazing! best injection tutorial I saw until this point . The issue with injection is that is so simple it is hard to understand, it is something that comes naturally.

  • @johnnya246
    @johnnya246 2 ปีที่แล้ว +63

    The best explanation of the dependency injection and the singleton pattern! Simple and to the point!

    • @erickjhormanromero6905
      @erickjhormanromero6905 2 ปีที่แล้ว +5

      He never explaind singleton design patten just mentioned it. 😃😃

    • @user-rl5pb5un2f
      @user-rl5pb5un2f ปีที่แล้ว

      Helpline📲📥⬆️
      Questions can come in⬆️

    • @SoniaChavez-je7hq
      @SoniaChavez-je7hq 4 หลายเดือนก่อน

      @erickjhormanromero6905 yes he did, indirectly he did when he said that with singleton a connection class was instantiated just once, correct me if I m wrong.

  • @bartex10101
    @bartex10101 2 ปีที่แล้ว +26

    I think that your explanation of dependency incjection in pure java is quite good. On the other hans I think you should say something about pross and cons of context dependency injection. There is some problems with it and it should not be used as remedy for everything. For example in huge applications when you have thousands of services etc. it may become bean hell where dependency tree will looks like spaghetti cause of beans flying everywhere. Another drawback is that if you make your class a singleton bean and this class (for example service) is used only from time to time it still wastes memory. Garbage collector can't collect it even if you stoped to use this class way ago. So people of java don't be afraid to instantiate objects with new () keyword! :D
    Sorry for mistakes, English language is not my native language ;)

    • @rafaelrosa3841
      @rafaelrosa3841 2 ปีที่แล้ว +2

      perfect.. people is very naive when coding with this patterns. And call the new operator of "bad code" is funny.

    • @henriquesenadev2194
      @henriquesenadev2194 2 ปีที่แล้ว +2

      Great comment

    • @eufraniodiogo50
      @eufraniodiogo50 ปีที่แล้ว +4

      Thanks, dude, for explaining to us that it's not the world saver and it could not be the best approach to take in all cases. Thanks, and about your English it's fine, it's not also my native language.

  • @ahmedbishree9429
    @ahmedbishree9429 2 ปีที่แล้ว +2

    Thanks bro again you nailed it, I've read a lot of books about the dependencies injections but I couldn't find what I was looking for, lastly I can get my head around it in this video. my ALLAH bless you

  • @michailmarkou1995
    @michailmarkou1995 2 ปีที่แล้ว +3

    absolute amazing SOLID tutorial!

  • @haihoangninh3237
    @haihoangninh3237 2 ปีที่แล้ว

    I've been stuck to this for days, thank you!

  • @Diego-Garcia
    @Diego-Garcia ปีที่แล้ว +2

    Now everything make sense!!! That's why people create an Interface for every class; that's why people assign every field inside the constructor.
    The Interfaces are created to decouple the "true" class, being able to pass other objects with the same signature, LIKE A MOCK CLASS.

  • @Griefed_
    @Griefed_ 2 ปีที่แล้ว +5

    Awesome video, thank you very much!
    Looking forward to the DI videos. I hope you give us a glimpse of manually doing singleton DI just to show us how it is done, in case one does not use Spring or something else.

    • @erickjhormanromero6905
      @erickjhormanromero6905 2 ปีที่แล้ว

      I don't know why you need this if Spring is one of the most used java framework and will do all for you. but check this.
      To achive that is just to check if there's already a instance on such dependecny to be injected in the constractor of the target class and return the same instance. th-cam.com/video/tSZn4wkBIu8/w-d-xo.html

  • @nguyenminh1402
    @nguyenminh1402 หลายเดือนก่อน

    I always love your tutorial. You make everything clear and simple.

  • @jaymarkalvarez9851
    @jaymarkalvarez9851 2 ปีที่แล้ว +1

    You're amazing! Saying hi from the Philippines.

  • @jeff_tech
    @jeff_tech 2 ปีที่แล้ว

    Thank you! You explained it very clearly

  • @_freeworld
    @_freeworld 2 หลายเดือนก่อน

    I'm an android developer and I needed to understand dependency injection, I think this video has given me an idea of when dependency inject is about.

  • @SiyaNtombela
    @SiyaNtombela 2 ปีที่แล้ว

    Can't wait for the course to come out!

  • @RicardoSilvaTripcall
    @RicardoSilvaTripcall 2 ปีที่แล้ว

    Amazing explanation, Congrats from Brazil !!!!

  • @andrekreou1
    @andrekreou1 2 ปีที่แล้ว +4

    Just in time! I am writing my MSc thesis and this information is valuable!

    • @mad616
      @mad616 ปีที่แล้ว

      dependency injection is a bachelor 2. semester concept man 😶

    • @andiuptown1711
      @andiuptown1711 3 หลายเดือนก่อน

      @@mad616No it’s not lol

  • @paulo__vieira
    @paulo__vieira ปีที่แล้ว +8

    For those who wanna learn about Beans with details, I recommend the Spring Start Here book from Laur Spilca, it's an introductory book about Spring where the author use some analogies to explain about beans, it's quite interesting.

    • @alexisdona
      @alexisdona 4 หลายเดือนก่อน

      Do you have it in digital format?

    • @andiuptown1711
      @andiuptown1711 3 หลายเดือนก่อน

      @@alexisdonasearch it on Reddit, I found it there!

  • @kostiantynkarzhanov9216
    @kostiantynkarzhanov9216 5 หลายเดือนก่อน

    Thank you so much! Fantastic explanation! 💛

  • @kopilkaiser8991
    @kopilkaiser8991 ปีที่แล้ว

    Assalamwalaikum. Thank you for the video. May Allah bless you with all of His blessings. You are a great teacher and just learning from you is just so easy than from other resources 😊❤

  • @ahmaddawood9691
    @ahmaddawood9691 ปีที่แล้ว

    This is really excellent tutorial on dependency injection ..... thanks

  • @franke1917
    @franke1917 3 หลายเดือนก่อน

    Very interesting and easy explanation! Thank you so much!

  • @marzenalaaeddine
    @marzenalaaeddine 2 ปีที่แล้ว

    Great, Baraka allahou fik.

  • @SoniaChavez-je7hq
    @SoniaChavez-je7hq 4 หลายเดือนก่อน

    It was easy to understand this idea with your explanation, thx

  • @kuchdarith
    @kuchdarith 2 ปีที่แล้ว

    Wow, the best video for beginners. Thanks sir for your video, so sweet explants about the proccessing.

  • @pstlvictoras
    @pstlvictoras 2 ปีที่แล้ว

    Subscribed! thank you sir!

  • @mariazinchyn
    @mariazinchyn 2 ปีที่แล้ว

    Thank you!

  • @teachermartin8251
    @teachermartin8251 2 ปีที่แล้ว

    Awesome explanation of DI

  • @89Valkyrie
    @89Valkyrie ปีที่แล้ว

    Excellent explanation.

  • @user-oq2zo5ki8c
    @user-oq2zo5ki8c 9 หลายเดือนก่อน

    Wow, it's super helpful!

  • @betultultay1615
    @betultultay1615 8 หลายเดือนก่อน

    Great explanation thank you

  • @deltamakuba
    @deltamakuba 2 ปีที่แล้ว

    Thank You brother

  • @mkanbu3802
    @mkanbu3802 ปีที่แล้ว

    Thank you so much sir. ❤️

  • @SerdarPolat21
    @SerdarPolat21 ปีที่แล้ว

    MashaAllah brother. You are talented. I'm learning from your videos. And I am adapting it to Dart language.

  • @Dzikrullah_999
    @Dzikrullah_999 ปีที่แล้ว

    Jazakallah brother

  • @nestoralmarza5732
    @nestoralmarza5732 2 ปีที่แล้ว +2

    great video! cyclic dependency is a great topic for a future video.

    • @amigoscode
      @amigoscode  2 ปีที่แล้ว +1

      Good one actually

  • @kunnudev7250
    @kunnudev7250 ปีที่แล้ว

    Great thanks so much bro

  • @xiaocatcat
    @xiaocatcat 2 ปีที่แล้ว

    Hope you explain more about OOP. Thanks

  • @thEstRonG3r
    @thEstRonG3r ปีที่แล้ว +3

    Just small thing, at 15:55, if HEAP is full, you will get OutOfMemoryError, and not StackOverflowError.

  • @mohsenzahabipour40
    @mohsenzahabipour40 ปีที่แล้ว

    Great explanation 👌
    Haji 😊

  • @talbiabdelali5914
    @talbiabdelali5914 2 ปีที่แล้ว

    Thank you bro for all the content you bring toi us realy so helpful. I want just to Ask you to do more vidéo on java even the easiest Java topics it will be very for everyone. For exemple Can you make a vidéo about exceptions how jvm please bro!

  • @frodggy2714
    @frodggy2714 2 ปีที่แล้ว

    great video. keep it going brother.

  • @grzegorzmolin
    @grzegorzmolin ปีที่แล้ว

    Díky!

  • @world-observer3460
    @world-observer3460 ปีที่แล้ว

    The DI concept is confusing me for a while util i see this clip. Really good work Bro.

  • @KailashJNirmal
    @KailashJNirmal ปีที่แล้ว

    Thanks for the tutorial Brother. Thanks for sharing . Your english so easy to understand. How do you record your video? Do you use some special device ? I liked your Java series .

  • @boristhedestroyerofancient508
    @boristhedestroyerofancient508 2 ปีที่แล้ว

    Based video - as always!

  • @JulianSloman
    @JulianSloman ปีที่แล้ว

    TH-cam insists on showing me Java code... as a JavaScript developer - but big fan of dependency injection in general. Works in a functional context as well (i.e. split stuff in more functions, pass stuff needed as params rather than make "scope" do all the lifting) - then test the functions directly.

  • @johncarlo4028
    @johncarlo4028 2 ปีที่แล้ว +1

    So dependency injection is what's being used in MVP is it at Presenter to be specific? I am currently familiarizing my self to the patterns, and so far, i think patterns are awesome.

  • @hamza_Techy
    @hamza_Techy 2 ปีที่แล้ว

    Great!❤️

  • @MwauraXavier
    @MwauraXavier 2 ปีที่แล้ว

    Perfection.

  • @joaosantos6868
    @joaosantos6868 2 ปีที่แล้ว +1

    Qual o tema e a fonte que você está usando? Ótimo conteúdo

  • @alessiobino8248
    @alessiobino8248 ปีที่แล้ว

    great video !!

  • @yaphetb5717
    @yaphetb5717 2 ปีที่แล้ว

    Thanks for this video nelson✌. Can you cosider doing a video on payment integration in spring boot?

  • @Ezzedini
    @Ezzedini ปีที่แล้ว

    is there a video after this to recommend to understand the rest of annotations in spring framework?

  • @hamzaa7335
    @hamzaa7335 2 ปีที่แล้ว

    Bro I love your Videos, where you learned this all?

  • @xeyalteyyubov1175
    @xeyalteyyubov1175 ปีที่แล้ว +1

    Keep going.

  • @SeanCarter
    @SeanCarter 2 ปีที่แล้ว

    What’s that lighting setup?
    The video is crispy.

  • @VforVanish
    @VforVanish 2 ปีที่แล้ว

    NestJS does the same thing! Good tutorial thanks!

  • @willofd1683
    @willofd1683 2 ปีที่แล้ว

    HI! PLease which app are you using to make this schema? Thanks

  • @sharadsingh2856
    @sharadsingh2856 ปีที่แล้ว

    Awesome

  • @Kim-tr5op
    @Kim-tr5op 2 ปีที่แล้ว

    do u have a vid about testing in spring?

  • @FilipCodes
    @FilipCodes 2 ปีที่แล้ว

    Liked immediately

  • @umitkirtil
    @umitkirtil 2 ปีที่แล้ว

    thank you for great tips and concept topics like this. Asselamu aleikum

    • @user-rl5pb5un2f
      @user-rl5pb5un2f ปีที่แล้ว

      Helpline📲📥⬆️
      Questions can come in⬆️.

  • @jenaman0001
    @jenaman0001 ปีที่แล้ว

    Hi @Amigoscode,
    You have beautifully explained the DI. I have one question here. I am using DI using and have a situation like below
    public class Demo {
    private CarDAO carDao;
    private NewCar newCar;
    public Demo (CarDAO carDao){
    this.carDao = carDao;
    newCar = new NewCar(this.carDao);
    }
    Can you please guide how to handle this situation ... without instantiating the newCar in the constructor..

  • @borhan_sahed
    @borhan_sahed 2 ปีที่แล้ว

    Assalamu alaikum brother. Your videos are too good.
    Will the bootcamp be available free of cost ?

  • @hitstick567
    @hitstick567 2 ปีที่แล้ว

    Can you do a video on programminng to interfaces in Java?

  • @lrzero1362
    @lrzero1362 ปีที่แล้ว

    It's an awesome video, I just still have a small question, can you explain a little bit more what the purpose of the annotation @Autowire is. That's the only thing I'm still kinda confused about. Thank you in advance.

  • @ahmedbishree9429
    @ahmedbishree9429 ปีที่แล้ว

    Essalamo Aleykum bro is there any book that you can advise us with to get a deep understanding for the dependencies injection?

  • @scottcooper6644
    @scottcooper6644 2 ปีที่แล้ว

    Legend

  • @joseferreira7415
    @joseferreira7415 ปีที่แล้ว +2

    I had a doubt. In your Spring boot tutorials, @Autowired is not used. The class is annotated with @RequiredArgsConstructor and the dependency attributes are declared as final. In this video, I understood that @Autowired is used to inject the dependency instance that was found. Why is @Autowired not used in the construction of your Spring projects? Thank you for everything, I'm a big fan of yours!!

  • @KlanBr1
    @KlanBr1 2 ปีที่แล้ว

    great video. This video belongs to a playlist? in that case, what is the link of that list where you can find, for example, the video in which you talk about the annotations like the @Bean

  • @mohammadsaht5602
    @mohammadsaht5602 ปีที่แล้ว

    keep up my friend always check new videos

  • @ElvinMayenCarrillo
    @ElvinMayenCarrillo ปีที่แล้ว

    I'm currently studying for a backend position and I need to learn dependency injection on python, currently trying to implement it on my own linked list with its own node class, could anyone provide an example or explain more or less how could I actually implement dependency injection?

  • @taneatrifon6627
    @taneatrifon6627 11 หลายเดือนก่อน

    what's the previous video of this course?

  • @kareem7236
    @kareem7236 ปีที่แล้ว

    Salam alikum Amigo ,
    What should I now to be ready to start with Spring ?
    Pleas let me now 🤗

  • @bahmad2009
    @bahmad2009 2 ปีที่แล้ว

    Usssalaam vaaleykum 👍👌

  • @YT-vx9sz
    @YT-vx9sz 2 ปีที่แล้ว +1

    Bro I was just searching for a good video on this topic😂

  • @aoboyang8735
    @aoboyang8735 2 ปีที่แล้ว

    Is there a play list?

  • @pablo-2349
    @pablo-2349 ปีที่แล้ว

    its a good programing coure?
    sorry for bad englisch

  • @optimisticenigma283
    @optimisticenigma283 3 หลายเดือนก่อน

    Is this part of a course playlist, because I can't find the other videos he refers to when saying "earlier we talked about" or "we'll cover this later on".
    I genuinely liked the explanations and so was wondering where I can find the full playlist?

  • @zafarjonolimov2953
    @zafarjonolimov2953 2 ปีที่แล้ว

    Waalekum assalam...

  • @luisuran4050
    @luisuran4050 2 ปีที่แล้ว

    What's with emo service?

  • @mcgruff0972
    @mcgruff0972 2 ปีที่แล้ว +1

    Aren't you defeating the purpose of dependency injection by implementing with concrete implementations instead of interfaces, you still have a tightly coupled dependency? I haven't used @Bean so maybe this solves the problem.

  • @San.Man___
    @San.Man___ หลายเดือนก่อน

    CDI in Jakarta EE😄

  • @thapelomorare1484
    @thapelomorare1484 2 ปีที่แล้ว

    Do Jsp and servlets

  • @lxdzii
    @lxdzii ปีที่แล้ว +1

    is the boot-Camp free or? and also is it online? ....and if possible can @Amigoscode make a separate video explaining in a bit of depth how the boot-Camp will carry out, because i have a lot of questions about i have i am very much interested in joining

  • @jivanmainali1742
    @jivanmainali1742 ปีที่แล้ว

    Could not get how DI makes testable and loosely coupled code?

  • @liledg2357
    @liledg2357 ปีที่แล้ว

    19:30 Do we really need to put either @Autowired or @Inject at the constructor? I thought spring sees the constructor argument and automatically injects the dependency

    • @tunamusic2314
      @tunamusic2314 ปีที่แล้ว

      yupp put autowired annotation so it can be automatically injected

  • @murrayKorir
    @murrayKorir ปีที่แล้ว

    If Spring boot was never invented I would never have continued and loved java.

  • @sportsuniverse1303
    @sportsuniverse1303 2 ปีที่แล้ว

    👍

  • @SnehaJPai
    @SnehaJPai ปีที่แล้ว

    Then why do we use @Autowired annotation? How is it different from this scenario?

  • @m5a1stuart83
    @m5a1stuart83 2 ปีที่แล้ว

    Waalaikum Salam brother

  • @patrickigiraneza2947
    @patrickigiraneza2947 ปีที่แล้ว

    💡

  • @sanamudash4976
    @sanamudash4976 2 ปีที่แล้ว +1

    Make video on micro services

  • @CarlosVera-jy7iy
    @CarlosVera-jy7iy 2 ปีที่แล้ว

    Greetings amigos code, because I do not receive any information from the bootcamp to my email I have already registered

  • @lisafox9026
    @lisafox9026 2 หลายเดือนก่อน

    9:16 if Carservice has 10 fileds, it must be 10 parameters in condtructor?

  • @Aswodel
    @Aswodel 5 หลายเดือนก่อน

    Where is the previous video before this? you say: "earlier in this course we..." is that video available on TH-cam? Or do we need to pay? And if so, where?

  • @ivanivanov7617
    @ivanivanov7617 2 ปีที่แล้ว

    No need for @Autowired for the constructor because Spring is smart enough to do it for us except cases with multiple constructors.

  • @billszy794
    @billszy794 ปีที่แล้ว

    Wa lakim alsaalam

  • @hamednikbakht9708
    @hamednikbakht9708 2 ปีที่แล้ว

    hi please upload video from best way for read and write json file and mapping to requestClass and send for api

    • @erickjhormanromero6905
      @erickjhormanromero6905 2 ปีที่แล้ว

      Just create your json file as a resources , serialize it to a class using ObjectMapper or GSON, mapper to a DTO and then return it. or insted of using a DTO design patten just return using GSON