Spring Tips: the road to Spring Boot 3: Spring Framework 6

Поделиться
HTML-код
  • Опубликовано: 25 окт 2022
  • Hi, Spring fans! In this installment, we begin a journey to Spring Boot 3, due end of November, 2022. In this installment, we'll look - at a very high level - at some of the amazing features in Spring Framework 6, which underpins Spring Boot 3.
  • НаукаНаука

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

  • @slcooIj
    @slcooIj Год назад +5

    Great and quick overview, thx. The hints for native compilation have 'grey hair potential' ;) at the current state. Maybe this can be improved over time. I'm sure it is not that easy to be 100% safe in case of an auto determination. Let's hope the best :)

  • @DavidParry-Hacker
    @DavidParry-Hacker Год назад

    @starbuxman what a fantastic video, the effortless right flavor to start the groking even deeper. Thank you sir!

  • @Michaeljamieson10
    @Michaeljamieson10 Год назад +1

    awesome

  • @9703080696
    @9703080696 Год назад

    Awesome explanation 👍

  • @mohcina8213
    @mohcina8213 Год назад

    Thank you :)

  • @joachimdietl6737
    @joachimdietl6737 Год назад

    yeah ! its there!

  • @sagnikdas975
    @sagnikdas975 Год назад +39

    It'd be really great if you'd use a better quality microphones. The voice sounded really cranky here in an otherwise very informative video.

    • @razvanspt
      @razvanspt Год назад +6

      Maybe u should change your headphones, I didn t hear any type of noise to bother me :)

    • @abhishar03
      @abhishar03 Год назад

      I echo the same . Better microphone would help

  • @rameshk2338
    @rameshk2338 Год назад +3

    🎉 thank you josh.

  • @chandragie
    @chandragie Год назад +6

    I see similarities between FeignClient and HttpServiceProxyFactory... It's a bit more complicated to do the config here tho

  • @siddanthtantry6609
    @siddanthtantry6609 Год назад +2

    what IDE theme is used here?

  • @cywang637
    @cywang637 Год назад +4

    May i ask your IDE fonts, it's looks very comfortable

  • @ashikuzzamandev
    @ashikuzzamandev Год назад +1

    I have a question at 2:10 minutes. You always choose the latest JDK version but why 17 for this video? :D

    • @ChrisB_Crisps
      @ChrisB_Crisps Год назад

      Maybe because is one of the main features that they want to make clear on what is new in boot 3

    • @ashikuzzamandev
      @ashikuzzamandev Год назад

      @@ChrisB_Crisps I don't think so. You can check some other videos where they choose 18. They are not choosing 19 because they need to talk about virtual threading if they do so. They don't want to talk about virtual threading. That's my point.

  • @user-pu6ll6xd2b
    @user-pu6ll6xd2b Год назад

    please add video from Spring Batch for read Excel file and Process by microservice save in multi table in database , mapping request and response

  • @ornelfranck
    @ornelfranck Год назад

    This is why we test in production!!!😅😂😂😂🤣😁

  • @57skies
    @57skies Год назад

    The @GetExchange example does not work anymore, there were changes were methods were removed. Also, explaining how to actually test those using WebTestClient would have been very appreciated.

  • @Adielmo22
    @Adielmo22 Год назад +1

    is this project on github?

  • @rameshk2338
    @rameshk2338 Год назад +1

    like wise open feign client expect here

  • @mihirsawant8817
    @mihirsawant8817 Год назад

    Hi, it's great, but is ServiceProxyFactory substitution of FeignClient and will FeignClient supported in Spring Framework 6.0 ?

    • @mihirsawant8817
      @mihirsawant8817 Год назад

      Also I need to ask that in prod do we need to explicitly name our controller advice classes this big..?

  • @benaya6
    @benaya6 Год назад

    is there a way to load a file as a classpath resource? so far, nothing seems to work

    • @Ricardo-nt7pd
      @Ricardo-nt7pd Год назад +1

      Of curse is possible to read files from the classpath, you don't need any new feature from Spring or any other framework.
      Every time you build and package a Java application you get a .jar archive (maybe a .war or .ear) which is just a zip file with all your code, resources and some metadata. So any resources that are packaged when the application is build live inside the resulting compressed archive, which means that you cannot access to any resources inside using the File System.
      Supposing that you have a Spring Boot application with the standard maven file system structure and you have some files in the classpath, specifically in any path inside the "src/main/resources" directory tree, then you can access to this files ONLY as InputStream resources using the ContextClassLoader.
      your-project
      |
      |-----src/main/java/
      |
      |-----src/main/resources
      |
      |-----application.properties
      |-----someOtherFile.txt
      // ...
      String localPath = "someOtherFile.txt";
      InputStream inputStream = Thread
      .currentThread()
      .getContextClassLoader()
      .getResourceAsStream(localPath);
      new BufferedReader(new InputStreamReader(inputStream))
      .lines()
      .forEach(System.out::println);
      // ...

    • @benaya6
      @benaya6 Год назад

      @@Ricardo-nt7pd thanks for the detailed answer! however, I was talking about native-image compilation, this approach didn't work in this case

    • @coffeesoftware
      @coffeesoftware Год назад +1

      Hi - you can register a hint using the same RuntimeHintsRegistrar mechanism i showed in the video: RuntimeHints#reflection().registerResource(new ClassPathResource(“/foo.txt”));

  • @shakthifuture
    @shakthifuture Год назад +1

    What is the ide you are using?

    • @clemitru
      @clemitru Год назад +5

      It's IntellijIDEA

    • @facu454
      @facu454 Год назад

      JetBrains Fleet

  • @user-us9gl2ge1o
    @user-us9gl2ge1o Год назад

    Do you have a code address

  • @Boss-gr4jw
    @Boss-gr4jw Год назад +5

    This hint stuff needs to disappear before it can be seriously used in production. I feel like people would spend half of their time solving a business problem and other half of their time figuring out if the library or framework uses reflection or proxies. Now you end up testing your app in non-native environment and you are required to rerun tests against native builds as well. I would rather accept the high memory footprint until this thing gets more mature.

    • @vanivari359
      @vanivari359 Год назад +2

      Well, yeah, might skip that too for a while, but after a year in a Quarkus project and analyzing the Quarkus source code - that stuff is in there too, but buried in hundreds of thousands of "extension" code lines, which is buggy as hell even if you don't use graal. 20k lines alone necessary to get Hibernate running and it has still so many limitations. I can't wait to get back to the Spring world where i don't have to maintain a long list of open issues, bugs and workarounds. That whole native image stuff feels not mature enough for more complex applications, especially if your teams are "young and motivated".
      But memory is expensive so at the end this is inevitable i guess.

    • @accountnew7030
      @accountnew7030 Год назад +2

      honestly, I say fuck spring at this point. we need a more fresh framework done properly this time. It becomes too messy with every new feature

  • @USONOFAV
    @USONOFAV Год назад +1

    Are Spring folks aware that spring boot 2.7.3+ is having issue in Pivotal Cloud Foundry deployment?

    • @michaelminella
      @michaelminella Год назад +1

      Please be sure to file an issue on Github for the appropriate project if you have any issues!

    • @JamesStansell
      @JamesStansell Год назад

      What issue is that? My team built some new apps using Spring Boot 2.7.2 which I expect to upgrade before long.

  • @ogyct
    @ogyct Год назад +6

    Kinda sad, we have to do all that dark magic to make native images work. To me it seems, like developers made a huge amount of work, to create JVM for which you "write once, works everywhere". And now we reverse engineer to go back to the native image.

    • @ChrisB_Crisps
      @ChrisB_Crisps Год назад

      Good news, you can still use the JVM. Show support and use the option you like the most

  • @yadigarcaliskan6453
    @yadigarcaliskan6453 9 месяцев назад

    I don’t like such a framework which are trying to solve every problem on a very complicated way