It's a Kind of Magic: Under the Covers of Spring Boot - Brian Clozel, Stéphane Nicoll

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 ต.ค. 2024
  • One of Spring Boot's most powerful features is its auto-configuration. This magic is key to the convention-over-configuration approach that has brought a huge boost in productivity to Java developers. But is it really magic? We don't think so.
    In this session we'll take a look under the covers of Spring Boot. You'll learn about auto-configuration and the conditional configuration model that powers it, helping you to be even more productive when writing Spring Boot applications.
    Brian Clozel, Spring Team Member, Pivotal
    Stéphane Nicoll, Spring Developer, Pivotal
    Filmed at SpringOne Platform 2017

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

  • @abccbaandy
    @abccbaandy 11 วันที่ผ่านมา +1

    Great, 2024 now. I still learn something in 2017 video.
    Those user/auto config part I never see it in official doc.

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

    One of the great video on SpringBoot

  • @mason.elmore
    @mason.elmore 5 ปีที่แล้ว +2

    Great talk! I recently started working with spring boot professionally and this has demystified a lot of the "magic" that has confused me as a beginner.

  • @fates6922
    @fates6922 3 ปีที่แล้ว

    Great talk, made what was going on behind the scenes really clear to me.

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

    Nice intriduction to Spring Boot under-the-hood topic.

  • @itsnaveen007
    @itsnaveen007 4 ปีที่แล้ว

    Great presentation. Lot of things learn regarding auto configuration.

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

    Thanks guys, great job!

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

    Thank you for the insights! Do you guys have a link for the repo?

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

    Ah, the good old spring black box hell....

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

    The first question before even starting to watch this talk: Does it need to be so complex that I need to learn all this? If people start believing your framework does magic, you have probably made it do too much...

    • @abccbaandy
      @abccbaandy 11 วันที่ผ่านมา

      Yes, but in fact, many concept in this video is not for newbie and you probably never use it in your real work.

  • @garfieldnate
    @garfieldnate 6 ปีที่แล้ว +13

    I hate to say it, but it still seems magical.

    • @joeljbaker
      @joeljbaker 6 ปีที่แล้ว

      Agreed! Magic on top of magic

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

    Would like to code along and watch so can you please share the code that you are using in this video?

    • @hariprasads6340
      @hariprasads6340 6 ปีที่แล้ว +15

      Found it.. github.com/snicoll-demos/hello-service-auto-configuration .. In case someone is looking for it

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

    How can @ConditionalOnClass be called with a class that could not be in the classpath? Should that library be included as optional in the autoconfiguration module? If not I don't see how the class HelloService could not be there.

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

    How did you add your project as a dependency to your another project?
    I mean did you package it as a ".jar" file from command line and than add it to your local maven repository or something else?

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

      mvn clean install adds jar to your local repository (.m2/repository folder) and you can use it as dependency in other pom.xml

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

    It is not really explained why all of the conditional behaviour is needed or what the benefit is of using conditional versus explicit. It seems like a significant portion of the conditional stuff could be avoided with a savings in complexity and reduction of magic-ness.

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

    Where is the github repo?

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

      github.com/snicoll?tab=repositories

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

    This would be some much easier to follow if there were some enthusiasm in their voices.

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

      I have been bashing my head against refactoring a spring boot project for a week. Finally biting the bullet and digging in to how it works under the hood. The resources for learning this seem absolutely mind numbing. I am so, so bored.

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

    I despised this presentation, persistent use of the term 'opinion' where there was none and then on and on about about how useful that is... extremely confusing.
    The 'behind scenes' reveal was useful, but the 'conversation fluff' was off-putting.

  • @vietanhvu48
    @vietanhvu48 5 ปีที่แล้ว

    @StartFasterWithITunes is best LOL

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

    If you explain this at application level it becomes interesting but at framework it would be dry to most listeners

  • @kotojava
    @kotojava 6 ปีที่แล้ว +13

    As developer I want to be focused on logic and not keep in mind spring configuration hell. Tons of this garbage annotations which is conflicting with each other. Now if you want to write hello world application using spring you have to read a lot of documentation or solve a lot of annoying exceptions etc. It's better to do not use it at ALL. Hope any other alternative like google juice will kill it sooner or later.

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

      spring boot is all about that, convention over configuration. once you learn the basics all the rest is about building business logic

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

      If youre using spring to build a hello world application them you're already doing it wrong. Spring is for professionals willing to put the time in to learn it. Once you do that knowledge and experience will last you a lifetime and place you head and shoulders above most Java Developers. My advice is to learn Spring Core & MVC before all of this other crap.

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

      That is simply not true. Generate new app from spring initializer website with only "web" dependency, go to the main class with @SpringBootApplication annotation, add annotation "@RestController" on the class, then add method "@GetMapping("/") public String hw() {return "Hello World";}", run the app (for example mvn spring-boot:run), go to localhost:8080 and that's it, "Hello world" app in 1 youtube comment.

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

      If your goal is a hello world, why are you even here? And no, by default you get a hello world app running by just using the spring initializer. Well, you might have to actually find out where to print the hello world, but it should not be that hard, since you only have one class with one main. lol

  • @josemdz6428
    @josemdz6428 6 ปีที่แล้ว +13

    Well, this is almost as boring and slow as everything else in Spring.