Spring Tips: Spring Modulith
37:39
22 сағат бұрын
Spring Tips: Spring AI Redux
22:49
14 күн бұрын
Spring Tips: Virtual Threads
50:31
Spring Tips: GRPC
11:35
2 ай бұрын
Spring Tips: Hello, Java 22!
38:49
Spring Tips: Spring Boot Testjars
34:25
Spring Tips: Spring AI
22:48
4 ай бұрын
Spring Tips: CQRS and Axon Framework
1:03:04
Spring Tips: DataSources
57:40
5 ай бұрын
Spring Tips: Spring Data JDBC
27:36
Spring Tips: Spring Boot 3.2
1:21:52
Пікірлер
@TheFutureSKOOL
@TheFutureSKOOL Күн бұрын
"OrdersController" would make the name more searchable in code easily with IDE's help.
@prdoyle
@prdoyle 2 күн бұрын
Great stuff!
@aliksargsyan2782
@aliksargsyan2782 2 күн бұрын
It's clearly shown that Josh Long extremely hate php😂😂😂😂😂
@avs6362
@avs6362 3 күн бұрын
Java Brains is still better... Best I must say!
@arnaudpoutieu1331
@arnaudpoutieu1331 3 күн бұрын
Many thanks Josh for such lovely content! 🙏🏿
@nickferrara5770
@nickferrara5770 3 күн бұрын
It started easy and got too advanced pretty fast
@anisulislam306
@anisulislam306 3 күн бұрын
What about separate datasource per module? Would be nice to have per module decoupled and isolated datasource configuration.
@SwapnilNakate7
@SwapnilNakate7 3 күн бұрын
nicely put
@ValdemarFerreiraDeBarros
@ValdemarFerreiraDeBarros 4 күн бұрын
I use @RestController annotation which have @ResponseBody in it. Are there any reason for not use this annotation stead? Love your content
@LaserowyWódz
@LaserowyWódz 4 күн бұрын
How to handle pressure in Scrum Sprints as a Java Developer
@mikem4432
@mikem4432 5 күн бұрын
Cloud machines die all the time, MF never die, they just get IPLed.
@xenoterracide
@xenoterracide 5 күн бұрын
Now having watched this whole thing. I feel like the only convincing usage of it is for the documentation purposes. I'm actually a bit concerned about how smart it is since you were showing it throwing errors on internal packages. Arguably makes using jpms for more control harder. Jpms will enforce only exported packages be be accessible. In other words an internal package is always an internal package and you can't access it outside of that jar as long as you don't export the internal package. Perhaps another video covering modulith with jpms And enforcing that things like jpa annotations aren't accessible on your controller... Of course this assumes that you can get jpms working. I'm about to take another pass on that and my code and see what spring boot is throwing these days.
@xenoterracide
@xenoterracide 5 күн бұрын
If you want to call them the same name you could put them in a different package... And then use jpms to control what you export... 😂 And then you'll have to fully qualify your package name. I wish Java had type aliases... Because every library has a Component class... You say that you want that but if you actually did it you'd realize on any significantly large code base you would run into the problem of trying to open the right type with your IDE and being frustrated with your auto completion. So that's not only about Java but your IDE and general human readability.
@xenoterracide
@xenoterracide 5 күн бұрын
The reason why you also support a layered architecture in addition to a vertical architecture is because, and I've seen people do this, they access certain types of code in the wrong spots because their compiler gave them access to it. Also you can have layered code that you don't want to expose to a higher level of module. Not everything in my model needs to be accessible at the controller level. Here's a good example, It is a good design to use getters and setters with hibernate in order to facilitate appropriate lazy loading when dealing with collections and joins, hibernate has yet to support fully immutable objects. So I make package protected setters, I do not want my controller calling my setters... They are simply there to facilitate hibernate. If I need to set something I should use a more domain oriented method. Now, should everything go into a top-level controller package with no sub packages? No that's not a good idea. I think we should be doing both vertical and horizontal slicing. A decent question is though... Should it be, say, registration.controller or controller.registration? As far as other concerns with public types... There's JPMS and it should be getting used. If you really really want to hide your public types you should be using jpms. If you can't use JPMS please go open bugs with the relevant projects or comment on the existing ones that you want this because they seem to be under the impression that people don't want compile time safety and non-transient dependencies Only. Which spring modulus doesn't appear to deal with? The problem of transient library dependencies getting pulled on to my compile time class path which I've seen in the real world result in people directly using code that later broke because they depended on something directly that we didn't intend to depend on directly. Probably because their IDE suggested it.
@ronaldgarciavazquez8232
@ronaldgarciavazquez8232 5 күн бұрын
Muchísimas gracias, aunque no entiendo porque tantas dependencias pero sigo aprendiendo el modulith.. Saludos
@cbmeeks
@cbmeeks 5 күн бұрын
Would Spring Modulith be a good fit for a small workflow type project?
@MrVitalirapalis
@MrVitalirapalis 5 күн бұрын
amazing
@khalildureidy
@khalildureidy 5 күн бұрын
as always, super amazing!! 🇵🇸🇵🇸🇵🇸
@parthokr
@parthokr 5 күн бұрын
Java ecosystem is thriving with spring lately.
@sandrodelacruz8125
@sandrodelacruz8125 5 күн бұрын
Decoupled, not decomposed.
@pr0master
@pr0master 5 күн бұрын
Why is the Java Jigsaw module system completely ignored?
@SonysonyYnos
@SonysonyYnos 5 күн бұрын
it was so damn nice !
@danielmachadovasconcelos877
@danielmachadovasconcelos877 6 күн бұрын
It's a pretty nice video! It's nice to see spring boot evolution. Could this also work with Apache Kafka?
@SleepThatBurns
@SleepThatBurns 6 күн бұрын
Mui caliente! I think I am going to like this channel.
@jameskimani3574
@jameskimani3574 6 күн бұрын
what a loaded 38 minutes!
@Skiamakhos
@Skiamakhos 6 күн бұрын
How fault tolerant is message-driven architecture? Like, is there a confirmation sent back to the message sender saying the message was received & understood or is it more like UDP than TCP/IP where the sender sends the message & expects nothing by way of confirmation, transaction finished as far as it's concerned, meanwhile something's gone temporarily wrong with the connection, say a taxi drove past while tramsmitting on its radio just at the moment the message was supposed to go over your WiFi & it got garbled, jammed effectively by the more powerful radio signal, and the receiver just doesn't get the message. This was a problem for me years ago with an SOA type app where we had 3 main actors, one collecting data to send to a centre where it would be processed - it was training an AI for pattern recognition so initially it was human operators going "Yes, that matches" & hitting a green button, or "No that doesn't match" & hitting red. Trouble was they'd go off on lunch together around 1pm & meanwhile the data-collection centre was experiencing a surge in use as people popped in to give their data on their lunch breaks. Message queues would get full, and cue us support staff wading through logs logs and more f**kin' logs trying to find the message for Mr X's data to prove it was either stuck in a queue or it had made it through. Absolute nightmare. And of course at no point did the receiver acknowledge receipt or successful unpacking of the data, which if that had been the end of transaction would have meant all was well. They could have had that plus a timeout that would have flagged up an unsuccessful send - and it could have been locally cached on a RAID array to be resent until successful. This was of course in offices where the network infrastructure was largely wiring that had been repurposed from earlier token ring sh!t, I kid ye not.
@epsig1507
@epsig1507 6 күн бұрын
Great video. But I am sure if I run modules.verify() on our enterprise monolith it would explode
@ganeshbabu8263
@ganeshbabu8263 6 күн бұрын
What is your first fav place on the internet ?
@kirillostapchuk9776
@kirillostapchuk9776 6 күн бұрын
KZbin:)
@api-pro
@api-pro 6 күн бұрын
It is production.
@avalagum7957
@avalagum7957 7 күн бұрын
Lombok is not preferred anymore: that is understandable curl was used instead of httpie: why?
@simongeard4824
@simongeard4824 6 күн бұрын
I prefer HTTPie myself, but I suspect the answer is that Curl is installed on pretty much every command-line environment you'll ever need to access.
@avalagum7957
@avalagum7957 6 күн бұрын
@@simongeard4824 Your reply makes me wonder if there's a single binary execution for httpie and there is. I used to install it like a python app.
@adambickford8720
@adambickford8720 6 күн бұрын
Lombok isn't going anywhere any time soon; java is years behind without it cUrl is the defacto standard, most tools work with it
@Anderson-bz7fm
@Anderson-bz7fm 7 күн бұрын
One little doubt. How to rollback the first part of transaction if needed?
@speedbreaker5642
@speedbreaker5642 2 күн бұрын
We need to trigger a compensating transaction. When @Async is used it is altogether runs under different thread and in different transaction.
@deletoblue6059
@deletoblue6059 7 күн бұрын
mythical video spotted
@TheLinuxExpert
@TheLinuxExpert 8 күн бұрын
Worked like a song. Thanks :-)
@drax432
@drax432 8 күн бұрын
Thanks. However there are many videos that teach how to create OAuth2 authorization server that support client_secret_basic. Wish there is a video that teach the same but support client_secret_jwt
@Blafasel3
@Blafasel3 11 күн бұрын
Thx for the upload, I got 2 suggestions: - Maximize Code - Add some chapters to the timeline, it really helps navigating
@lucaneiros
@lucaneiros 12 күн бұрын
Muito empolgante. Realmente não existe framework melhor que Spring para Java.
@HeyHoLetsGo32
@HeyHoLetsGo32 12 күн бұрын
Great video series! I would love to see another addition dealing with how to unit- and integration-test these parties "performing the OAuth-dance", as you like to call it.
@simongeard4824
@simongeard4824 13 күн бұрын
Nice. I've been meaning to look into this kind of thing, because as you say, it's a missing piece - it's easy to find out what's in the current source tree, but not so easy to figure out what's in some binary package that was built a few years ago (or which you didn't build in the first place). Log4Shell is a the perfect illustration of the problem... when that hit, we spent *days* trying to figure out how many places might be impacted, both in our own code and in the various development tools.
@Anbu_Sampath
@Anbu_Sampath 13 күн бұрын
Nice feature.
@void_star_void
@void_star_void 13 күн бұрын
I see Josh, I press like, amazing as always
@kappaj01
@kappaj01 14 күн бұрын
What a great chat guys - this is super interesting stuff!
@MrCodecrafter
@MrCodecrafter 15 күн бұрын
So, is the driver available?
@MichaelSchuerig
@MichaelSchuerig 17 күн бұрын
At 1:26:05 the naming of adapters is confused. In a hexagonal/ports-and-adapters architecture, primary adapters are driving and secondary adapters are driven. Great workshop, very informative.
@Stl71
@Stl71 17 күн бұрын
Starting to learn Vaadin...Does Vaadin have components that make a web app look fancy and modern? Can it use css files?
@RushikeshJukar
@RushikeshJukar 17 күн бұрын
Thanks And Thanks to youtube for giving .5x speed
@KangoV
@KangoV 17 күн бұрын
Great video. We dumped Spring 4 years ago for Micronaut and never looked back. It has first class GraalVM support comping from Oracle Labs ;) Oh, heads up, string templates are being pulled in Java 23. Not even available in preview. Brian Goetz indicated this in an email to the JEP group.
@static-m-s
@static-m-s 20 күн бұрын
our Bulgarian Spring hero! :)
@poojapatole3573
@poojapatole3573 21 күн бұрын
Ken has a sweet smile
@toritsejuFO
@toritsejuFO 22 күн бұрын
Great episode 👍🏿
@ArchonLicht
@ArchonLicht 23 күн бұрын
Now how to merry this with Spring Security?
@rsrini7
@rsrini7 23 күн бұрын
Excellent Thanks Josh