Spring Tips: Spring Boot 3.2

  Рет қаралды 73,385

SpringDeveloper

SpringDeveloper

6 ай бұрын

Hi, Spring fans! In this post, we're diving into the cool new features of Spring Boot 3.2 and Java 21. We'll explore how virtual threads from Project Loom make your code run better and how Java 21 enhances your applications. Plus, we're building a Java 21 program right here! We'll talk about how SSL support and improved observability in Spring Boot 3.2 can help you in production. We'll also look at the new Project Loom and Project CRaC support can help you go faster with less work. You'll learn about how some very nice features in Java 21 - sealed types, records, pattern matching, and smart switch expressions - go hand in hand with production-ready services. Get ready to see how these updates available in Spring Boot 3.2 can make your developer life easier and more efficient.
#Java21 #SpringBoot #SpringBoot32 #JDBC #REST #HTTP #ProjectLoom #HTTPS #virtualthreads #security #sealedtypes #patternmatching #SSL #softwaredevelopment #programming #code #efficiency #observability #technologyupdates #Java #GraalVM
code is here: github.com/spring-tips/road-t...
make sure to check the `README.md` here : github.com/spring-tips/road-t...

Пікірлер: 66
@LukasBradley
@LukasBradley 6 ай бұрын
Please use Chapters on your videos. Thanks!
@joachimdietl6737
@joachimdietl6737 6 ай бұрын
like they do in the motorcycle club?
@jamesrooney931
@jamesrooney931 5 ай бұрын
0:01:04 Java 21 & Data Oriented Programming 0:11:27 Virtual Threads (LOOM) 0:28:40 JDBC Client & REST Client 0:44:18 Co-Ordinated Restore at Checkpoint (CRaC) 0:57:20 Better Security with SSL 1:05:14 Observability
@nikhilvijay6022
@nikhilvijay6022 4 ай бұрын
Doing God's work
@umutylmaz7800
@umutylmaz7800 6 ай бұрын
Great video Josh thanks! I'm leaving below the topics covered in the video. 0:00 Introduction 1:00 Data Oriented Programming 11:25 Virtual Threads 28:40 Jdbc & Rest Client 44:15 Coordinated Restore At Checkpoint 57:16 Security With SSL 1:05:10 Observability 1:21:01 Onward
@chandanveeppa8081
@chandanveeppa8081 6 ай бұрын
Powerful content! Thanks a lot for putting so much effort into creating this demo. Saves us developers a ton of time skimming though all those reference docs and release notes. Good to see Spring getting so many useful and interesting features.
@arnaudpoutieu1331
@arnaudpoutieu1331 6 ай бұрын
Many thanks for your energy and sharing such passion with us!
@bentobei
@bentobei 6 ай бұрын
Thanks Josh and everyone involved! Valuable tips.
@kenwang8595
@kenwang8595 6 ай бұрын
Great video! Just in span of one hour, I feel that I have learned so much! Many thanks!
@DanbyArg
@DanbyArg 6 ай бұрын
Thanks for all of the great content Josh 👍
@florianpopa8848
@florianpopa8848 5 ай бұрын
Thank you for sharing this! Having worked as a PHP developer for six years until 2018, I've experienced its limitations firsthand. Since switching to Java, I've found it to be a significantly better experience.
@SumitSharma864
@SumitSharma864 6 ай бұрын
Thanks a lot informative and useful video. Really helpful to understand whats new there before upgrade.
@Mateusz-xr9qw
@Mateusz-xr9qw 5 ай бұрын
That was very great start of a day. Awesome video ❤
@joachimdietl6737
@joachimdietl6737 6 ай бұрын
Josh you are the best! And of course we want the new JDK request factory, so let'S say new blablabla very good!
@nagamohank2244
@nagamohank2244 6 ай бұрын
Thanks! Josh for the Tips
@javaspringdev
@javaspringdev 6 ай бұрын
Thanks Josh that's a great video
@bawaparampreet24
@bawaparampreet24 6 ай бұрын
11:27 : Virtual Threads 28:35 : Jdbc Client & Rest Client
@javisartdesign
@javisartdesign 6 ай бұрын
thaaaaanks! greatest tips ever
@saintpaulbassanagavi3
@saintpaulbassanagavi3 6 ай бұрын
Incredible video
@konstantingromov6485
@konstantingromov6485 6 ай бұрын
Josh talk is great as usual. One small thing I've noticed - why @Controller+@ResponseBody but not @RestController in demo examples?
@coffeesoftware
@coffeesoftware 6 ай бұрын
because what Im doing isn't REST :) it's HTTP with JSON. If I used HATEOAS and hypermedia, then it'd be proper REST. it's also more consistent with RSocket, GraphQL, web sockets, MVC, etc., uses of `@Controller` in the rest of the stack.
@DenisKorolevR
@DenisKorolevR 6 ай бұрын
Thank you for your video! But it looks like that Sleuth in Spring Boot 2 was easier to work with.
@MarianSchubert
@MarianSchubert 6 ай бұрын
Thanks!
@pouyakhoshkhoo3855
@pouyakhoshkhoo3855 6 ай бұрын
Thank you
@CheeseStickzZ
@CheeseStickzZ 4 ай бұрын
23:56 This made me giggle for a whole hour. I agree Php is the biggest mess in the history of web development
@mycode0
@mycode0 6 ай бұрын
woww Java has changed a lot
@vukotici32
@vukotici32 6 ай бұрын
set('springCloudVersion', "2023.0.0-RC1") i am sad to see that the sprng cloud version is not ready for spring boot 3.2 we can not update
@asishkumarsatapathy3466
@asishkumarsatapathy3466 4 ай бұрын
Chapters please sir... Anywau thanks for awesome content!! Cheers 🍻
@marcinkunert
@marcinkunert 6 ай бұрын
Is there a way to prevent data.sql / schema.sql being run on restart? Similary to what @RestartScope does.
@chrispure7461
@chrispure7461 6 ай бұрын
oauth2 token/refresh suport for restclient?
@hobaca1465
@hobaca1465 5 ай бұрын
Interesting KZbin thumbnail - String Boot and SSSL... all good, midjourney still has aways to go.
@vishnuvs6121
@vishnuvs6121 6 ай бұрын
Did you use ChatGPT to generate the thumbnail?
@Gohel95
@Gohel95 6 ай бұрын
Hey @josh at 36:00 you use @Responsebody and @Controller is there any reason for not using @Restcontroller?
@coffeesoftware
@coffeesoftware 6 ай бұрын
well spotted ! the reason is because... it's not REST :) I'm not actually using hypermedia and HATEOAS and the like. I'm only at level 2 on Dr. Leonard Richardson's Maturity Model. I got tired of having to juggle that conflict in my head and I embrace the reality: it's just an HTTP + JSON endpoint. Also, Spring has a ton of uses for @Controller. It's just more thematically consistent to use it all over the place. If there was a `@GraphqlController`, and an `@RSocketController`, and an `@MvcController`, etc., then maybe I'd be more inclined.
@Gohel95
@Gohel95 6 ай бұрын
you're a great man @@coffeesoftware. Thank you so much for the explanation.
@avalagum7957
@avalagum7957 6 ай бұрын
Does Spring Boot 3.2 give us a VirtualThreadPerTaskExecutor bean or do we have to create one?
@hendisantika
@hendisantika 6 ай бұрын
Like this: spring.threads.virtual.enabled = true
@avalagum7957
@avalagum7957 6 ай бұрын
@@hendisantika did you really read my question? 🙂
@avalagum7957
@avalagum7957 6 ай бұрын
Answer to self: no.There's only 1 bean of type Executor in the Spring application context. When a runnable, which prints out the current thread name, is run by it, it prints out something like task-1. The thread used by Tomcat in spring webmvc is a virtual thread (its thread name is like VirtualThread[#73,tomcat-handler-0]/runnable@ForkJoinPool-1-worker-1). That means there's no need to create a VirtualThreadPerTaskExecutor in a spring boot based web app.
@salo.
@salo. 6 ай бұрын
Can I use Graal with default JDK 21? OR I should always download and set Special Graal 21 JDK ?
@coffeesoftware
@coffeesoftware 6 ай бұрын
you need the special GraalVM (or Liberica NIK) distribution. It's amazing: Java is an open source distribution. GraalVM is a fork of OpenJDK with some extra features. There are many OpenJDK distributions, GraalVM is but one of many. But did you know that GraalVM itself has forks and distributions? Liberica NIK (from BellSoft) is one such distribution.
@salo.
@salo. 6 ай бұрын
I can't see the answer, somewhy.
@karthiksundaram544
@karthiksundaram544 23 күн бұрын
@kennethcarvalho3684
@kennethcarvalho3684 6 ай бұрын
Problem in IT field is information overload. How can mind keep all this information
@TaiChiSWAG
@TaiChiSWAG 6 ай бұрын
until one practically apply one of the new features
@user-hp6gf7lu8c
@user-hp6gf7lu8c 6 ай бұрын
Don't be overwhelmed. Instead, you have to decide which core information you must need and most probably learn it from an official doc or book. Because from reading, you have your available time to consume the information in your way. But in video, you have to follow the creator's style of timeline to consume information, which in most cases won't be within your required time demand.
@kennethcarvalho3684
@kennethcarvalho3684 6 ай бұрын
@@user-hp6gf7lu8c thanks
@WaterOfPanela
@WaterOfPanela 4 ай бұрын
why is gradle so overlooked?...
@lompatin
@lompatin 6 ай бұрын
String boot?
@dimitricharles9784
@dimitricharles9784 6 ай бұрын
Php the 1 trillion dollar mistake 😂😂😂😂😂
@maksimmuruev423
@maksimmuruev423 6 ай бұрын
Testcontainers support is kinda bad.. you have to put those lines for container control in each test suite.. is it even wise? I mean test itself probably should not care about which db connection in use embeddeddb or docker.. also conversion from embedded to testcontainers is painful in this way. I've found a way do it without update each single testsuite but its kinda hack anyway. Will be good if spring boot allow this just setup in separated config file or maybe just one annotation in testconfig..
@shelajev
@shelajev 6 ай бұрын
Modern Spring Boot does include exactly that. You can declare Testcontainers containers as beans, so their lifecycle is handled automatically, use `@ServiceConnection` annotation to automatically instruct Spring Boot to use the annotated bean as the default datastore or message broker (there's a whole set of supported technologies) so the connection details are handled automatically too. You also can put the container beans in a @TestConfiguration, and instrument your test classes with using that without changing the tests themselves. And you can even run the app itself with this configuration, so you get the environment for the development setup. Here's a video where we explored these concepts: kzbin.info/www/bejne/bZqTdJKHjNWGpJo
@rtb8085
@rtb8085 4 ай бұрын
I think you have a bit of confusion about the meaning of Tuple conceptually: tuple is a pair, and not a container for single element !
@CheeseStickzZ
@CheeseStickzZ 4 ай бұрын
I just came here to say I hate reactive programming with a passion, thank the heavens for project loom. Us old school java developers (8 years+) cannot stand the reactive paradigm
@karthiksundaram544
@karthiksundaram544 23 күн бұрын
😂
@shakib_04
@shakib_04 5 ай бұрын
thumbnail likely generated with AI
@KhodeCamp
@KhodeCamp 6 ай бұрын
Thank you so much for the tips!
@karthiksundaram544
@karthiksundaram544 23 күн бұрын
Spring Tips: Spring's Application Event Subsystem
20:23
SpringDeveloper
Рет қаралды 12 М.
Spring Tips: Hello, Java 22!
38:49
SpringDeveloper
Рет қаралды 13 М.
When someone reclines their seat ✈️
00:21
Adam W
Рет қаралды 27 МЛН
🍟Best French Fries Homemade #cooking #shorts
00:42
BANKII
Рет қаралды 61 МЛН
WHY IS A CAR MORE EXPENSIVE THAN A GIRL?
00:37
Levsob
Рет қаралды 21 МЛН
TRY NOT TO LAUGH 😂
00:56
Feinxy
Рет қаралды 12 МЛН
Spring Tips: go fast with Spring Boot 3.1
17:58
SpringDeveloper
Рет қаралды 53 М.
Spring Modulith - A Deep Dive (Workshop)
3:03:13
SpringDeveloper
Рет қаралды 15 М.
Spring Tips: Software Bills of Material in Spring Boot 3.3
8:05
SpringDeveloper
Рет қаралды 2,4 М.
Spring Tips: Spring Cloud Gateway for Spring MVC
26:19
SpringDeveloper
Рет қаралды 6 М.
Spring Tips: DataSources
57:40
SpringDeveloper
Рет қаралды 12 М.
Spring Tips: Spring Data JDBC
27:36
SpringDeveloper
Рет қаралды 17 М.
Spring Tips: Beans, Beans: What's in a Spring bean?
40:05
SpringDeveloper
Рет қаралды 9 М.
Spring Tips: Virtual Threads
50:31
SpringDeveloper
Рет қаралды 9 М.
Spring Tips: Vector Databases with Spring AI
23:55
SpringDeveloper
Рет қаралды 5 М.
Spring Tips: Easy Password Rotation with Hashicorp Vault
26:32
SpringDeveloper
Рет қаралды 3 М.
China 🇨🇳 Phone 📱 Charger
0:42
Edit Zone 1.8M views
Рет қаралды 382 М.
🔥Идеальный чехол для iPhone! 📱 #apple #iphone
0:36
WWDC 2024 Recap: Is Apple Intelligence Legit?
18:23
Marques Brownlee
Рет қаралды 5 МЛН
Непробиваемый телевизор 🤯
0:23
FATA MORGANA
Рет қаралды 449 М.