Spring I/O
Spring I/O
  • 342
  • 1 899 082
Unit Test Your Spring Architecture With ArchUnit by Roland Weisleder @ Spring I/O 2024
Spring I/O 2024 - 30-31 May, Barcelona
Slides: speakerdeck.com/rweisleder/unit-test-your-java-architecture-with-archunit
Repo: github.com/rweisleder/archunit-talk-examples
Architecture and code are drifting more and more apart? The implementation of non-functional requirements and cross-cutting concerns is often forgotten? Too much spaghetti code due to circular dependencies? Sadly, such things happen far too often and will quickly lead to an unmaintainable code base.
In the Java ecosystem, the library ArchUnit is a possible solution for this situation. We will look at how we can use ArchUnit to test our architecture within unit tests and finally get structure back into the system. We will also look at archunit-spring, which simplifies writing ArchUnit tests for Spring applications.
zhlédnutí: 3 358

Video

Introducing Spring AI by Christian Tzolov / Mark Pollack @ Spring I/O 2024
zhlédnutí 4,7KPřed měsícem
Spring I/O 2024 - 30-31 May, Barcelona Slides: 2024.springio.net/slides/introducing-spring-ai-springio24.pdf This session explores Spring AI, a new framework enabling Java developers to integrate AI seamlessly into enterprise applications. Spring AI was born from the realization that the AI/ML stack was becoming accessible to Java developers at large and no longer constrained to the traditional...
Continuations: The magic behind virtual threads in Java by Balkrishna Rawool @ Spring I/O 2024
zhlédnutí 8KPřed měsícem
Spring I/O 2024 - 30-31 May, Barcelona Slides: speakerdeck.com/balkrishnarawool/continuations-the-magic-behind-virtual-threads-spring-io Repo: github.com/balkrishnarawool/continuations Have you wondered how virtual threads in Java are able to provide such high scalability? How is JVM able to switch between so many virtual threads while executing a single platform thread? If you did then this ta...
Serverless Java with Spring by Maximilian Schellhorn & Dennis Kieselhorst @ Spring I/O 2024
zhlédnutí 3,7KPřed měsícem
Spring I/O 2024 - 30-31 May, Barcelona Slides: speakerdeck.com/deki/serverless-java-with-spring Serverless computing revolutionizes how we build and run applications by abstracting server management, delivering fine granular auto-scaling, and billing only for execution time. This enables developers to focus on code, not infrastructure. Join this talk to understand how you can build and deploy c...
Text-to-SQL: chat with a DB exploiting the Generative AI by Victor Martin / Corrado De Bari
zhlédnutí 1,8KPřed měsícem
Spring I/O 2024 - 30-31 May, Barcelona The endeavor to translate natural language queries into SQL has been a long-standing objective within the realm of computational linguistics and database management. Recent advancements in Generative Artificial Intelligence mark a pivotal moment in this journey. Current benchmarks have showcased that Large Language Models (LLMs) extend their utility beyond...
Making Spring Cloud Gateway your perfect API gateway solution by Dan Erez @ Spring I/O 2024
zhlédnutí 3,4KPřed měsícem
Spring I/O 2024 - 30-31 May, Barcelona Slides: 2024.springio.net/slides/making-spring-cloud-gateway-your-perfect-api-gateway-solution-springio24.pdf Spring Cloud Gateway is a great piece of software, but it is still missing some additions and tunings to be the single API solution for an organization. In this session I’ll talk about various options to deploy it, and complete the missing parts: r...
Unlocking Java's Code Maze by Mihaela Gheorghe-Roman @ Spring I/O 2024
zhlédnutí 2,5KPřed měsícem
Spring I/O 2024 - 30-31 May, Barcelona Slides: 2024.springio.net/slides/unlocking-javas-code-maze-springio24.pdf “Unlocking Java’s Code Maze” is not just a presentation. It’s an immersive experience designed to inspire and empower Java developers on their ongoing quest for mastery within the complex world of Java programming by providing practical insights for navigating the code maze effective...
Magical Beans and Mystery by Tiffany Jernigan / Timo Salm @ Spring I/O 2024
zhlédnutí 2KPřed měsícem
Spring I/O 2024 - 30-31 May, Barcelona Slides: github.com/timosalm/magical-beans-and-mystery/blob/main/slides.pdf Repo: github.com/timosalm/magical-beans-and-mystery So you just created a Spring Boot project at start.spring.io, but then what? Don’t worry! Tiffany was just there too, and now we are here to help. Join us as we explore Spring at a beginner’s pace. Even though Spring makes Java dev...
Revving up the good old Samaritan, Spring Boot Admin by Jatin Makhija @ Spring I/O 2024
zhlédnutí 1,5KPřed měsícem
Spring I/O 2024 - 30-31 May, Barcelona Slides: 2024.springio.net/slides/revving-up-the-good-old-samaritan-spring-boot-admin-springio24.pdf Delve into the potential of Spring Boot Admin and explore how ingeniously it can empower engineers to glean insights from their applications. Through Spring Boot Admin, we’ve not only pushed boundaries but also realized numerous success stories. In this disc...
Mind the gap, connecting high performance systems at a leading Crypto Exchange @ Spring I/O 2024
zhlédnutí 1,3KPřed měsícem
Spring I/O 2024 - 30-31 May, Barcelona Speakers: Marcos Maia / Lars Werkman Slides: 2024.springio.net/slides/mind-the-gap-connecting-high-performance-systems-at-a-leading-crypto-exchange-springio24.pdf As one of Europe’s leading Crypto Exchanges, Bitvavo enables its ~2 million customers to buy, sell and store over 200 digital assets and provides a 24/7 service processing many thousands of trans...
When Armeria Blooms in Spring (Boot) by Trustin Heuiseung Lee @ Spring I/O 2024
zhlédnutí 1KPřed měsícem
Spring I/O 2024 - 30-31 May, Barcelona Building a service in production often resembles the daunting task of replacing an engine at 10,000 meters. How can we transition from Spring MVC to WebFlux or gRPC, or even allow them to coexist without outages? Should we keep additional servers until the migration is complete? Should we open an extra port? How do we manage the operational complexity invo...
It's all in the mix: producing production-ready apps with Spring Boot by Joris Kuipers @ Spring I/O
zhlédnutí 2,6KPřed měsícem
Spring I/O 2024 - 30-31 May, Barcelona Slides: 2024.springio.net/slides/its-all-in-the-mix-producing-production-ready-apps-with-spring-boot-springio24.pdf Repo: github.com/jkuipers/in-the-mix-demos You already know how to develop Spring Boot applications: implement web controllers, work with databases, integrate security and so on. But just like releasing a song doesn’t end with recording the i...
Micrometer Mastery: Unleash Advanced Observability in your JVM Apps by Tommy Ludwig & Jonatan Ivanov
zhlédnutí 3,4KPřed měsícem
Spring I/O 2024 - 30-31 May, Barcelona Slides: speakerdeck.com/jonatan_ivanov/2024-05-31-spring-io-micrometer-mastery-unleash-advanced-observability-in-your-jvm-apps Repo: github.com/jonatan-ivanov/teahouse/tree/2024-springio Is your application a black box? Is your current observability instrumentation not good enough? Do you want to add more to your metrics and distributed tracing? Join us an...
Navigating the Complexities of Service To Service Invocations: Deep And Brief Dive Into Causality
zhlédnutí 631Před měsícem
Spring I/O 2024 - 30-31 May, Barcelona Speaker: Nele Lea Uhlemann Slides: www.slideshare.net/slideshow/spring-i-o-deep-and-brief-dive-into-causality/269620850 How to bring causality to the forefront in Spring services and systems? When building and running complex systems, we encounter multiple options, and various tools address causality concerning service-to-service invocation. Traces, Workfl...
Beyond Built-in: Advanced Testing Techniques for Spring Boot Applications by Michael Vitz @ SpringIO
zhlédnutí 3,8KPřed měsícem
Spring I/O 2024 - 30-31 May, Barcelona Slides: 2024.springio.net/slides/beyond-built-in-advanced-testing-techniques-for-spring-boot-applications-springio24.pdf Repo: github.com/mvitz/beyond-spring-boot-testing Spring Boot ships with testing batteries included, and you know that. But what happens when you reach the end of all this? You will need to find additional libraries or come up with your ...
AsyncAPI & Springwolf - Automated documentation (and more) by Raphael De Lio @ Spring I/O 2024
zhlédnutí 1,9KPřed měsícem
AsyncAPI & Springwolf - Automated documentation (and more) by Raphael De Lio @ Spring I/O 2024
GraphQL Java and Spring: The Latest Features by Rossen Stoyanchev @ Spring I/O 2024
zhlédnutí 1,5KPřed měsícem
GraphQL Java and Spring: The Latest Features by Rossen Stoyanchev @ Spring I/O 2024
Platform Engineering with Spring Boot by Tom Hombergs @ Spring I/O 2024
zhlédnutí 3KPřed měsícem
Platform Engineering with Spring Boot by Tom Hombergs @ Spring I/O 2024
Unveiling the path to Spring Boot 3 at the most important tech company you've never heard of
zhlédnutí 1KPřed měsícem
Unveiling the path to Spring Boot 3 at the most important tech company you've never heard of
The good, the bad, the native by Gregorio Palamà @ Spring I/O 2024
zhlédnutí 360Před měsícem
The good, the bad, the native by Gregorio Palamà @ Spring I/O 2024
Spring Cloud AWS 3 upgrade and customisation for over 100 teams at Ocado Technology by M. Telepchuk
zhlédnutí 712Před měsícem
Spring Cloud AWS 3 upgrade and customisation for over 100 teams at Ocado Technology by M. Telepchuk
Java meets TypeScript: full-stack web app development with Spring Boot and React by Marcus Hellberg
zhlédnutí 12KPřed měsícem
Java meets TypeScript: full-stack web app development with Spring Boot and React by Marcus Hellberg
Concerto for Java and AI - Building Production-Ready LLM Applications by Thomas Vitale @ Spring I/O
zhlédnutí 1,2KPřed měsícem
Concerto for Java and AI - Building Production-Ready LLM Applications by Thomas Vitale @ Spring I/O
Improve developer experience with Spring Interface Clients by Olga Maciaszek-Sharma @ Spring I/O 24
zhlédnutí 2,6KPřed měsícem
Improve developer experience with Spring Interface Clients by Olga Maciaszek-Sharma @ Spring I/O 24
A Spring Developers Guide to Navigating the Frontend Landscape by Dan Vega @ Spring I/O 2024
zhlédnutí 3,4KPřed měsícem
A Spring Developers Guide to Navigating the Frontend Landscape by Dan Vega @ Spring I/O 2024
Secure, Test, Repeat: A Guide to Spring Security Integration Testing by Laurentiu Spilca @ Spring IO
zhlédnutí 1,4KPřed měsícem
Secure, Test, Repeat: A Guide to Spring Security Integration Testing by Laurentiu Spilca @ Spring IO
Make Coding Fun with Spring and Azure by Adib Saikali / Asir Selvasingh @ Spring I/O 2024
zhlédnutí 318Před měsícem
Make Coding Fun with Spring and Azure by Adib Saikali / Asir Selvasingh @ Spring I/O 2024
IntelliJ IDEA Tips and Tricks for Spring Developers by Anton Arhipov @ Spring I/O 2024
zhlédnutí 4,3KPřed měsícem
IntelliJ IDEA Tips and Tricks for Spring Developers by Anton Arhipov @ Spring I/O 2024
The Spring Data Cookbook - Delicious Recipes For Fast, Secure Data by Christoph Strobl @ Spring I/O
zhlédnutí 4,8KPřed měsícem
The Spring Data Cookbook - Delicious Recipes For Fast, Secure Data by Christoph Strobl @ Spring I/O
The Modern Monolith, with Spring Modulith by Cora Iberkleid @ Spring I/O 2024
zhlédnutí 8KPřed měsícem
The Modern Monolith, with Spring Modulith by Cora Iberkleid @ Spring I/O 2024

Komentáře

  • @marcinnnWL
    @marcinnnWL Před 9 hodinami

    Nice approach to make full-stack life easier.

  • @ZapOKill
    @ZapOKill Před 3 dny

    I thought that the combination of @Entity and @Data is discouraged.

  • @MateuszNaKodach
    @MateuszNaKodach Před 3 dny

    The repository call in the domain object even does not guarantee the rule is not broken, because it's not transactional consistent... I think no-one should do something like that. There is a lack of some Availability concept in the domain.

  • @SomjitNag
    @SomjitNag Před 4 dny

    Kotlin support ?

  • @ewolz
    @ewolz Před 5 dny

    Any connection of Vaadin to Hilla ?

    • @ManuelCarrascoMonino
      @ManuelCarrascoMonino Před 3 dny

      Don't understand well your question, Hilla is part of Vaadin, and if you refer Vaadin as the other framework for Java, it's still there its called Flow. In summary, you can create your frontend app in pure Java (that is flow views) or Pure TS (that is hilla views), and from vaadin 24.4.0 you can mix both in your app

  • @hackneymarshes
    @hackneymarshes Před 5 dny

    Truly excellent talk highlighting the many benefits of Kotlin. Thanks for also going into WebFlux and coroutines towards the end.

  • @wantedlepota9960
    @wantedlepota9960 Před 6 dny

    Ooh! Josh, my dear friend, is there any reason you never use @RestController?

  • @khalidmovis585
    @khalidmovis585 Před 7 dny

    Hey can i change the front end and make it an api??

  • @MrMatheus195
    @MrMatheus195 Před 8 dny

    Entity Framework in .NET does this sooo much better. Just create a class that maps the domain object to an entity...simple as that! The problem here is that decoratirs where a mistake in the Java World

  • @nviorres
    @nviorres Před 8 dny

    Great talk. I agree with almost everything he said, one thing I have found out in practice though is that the last bit is tough: Keeping JPA out of your core when your DB is going to be a relational one creates a lot of extra boilerplate and loads of extra conversions/copies of objects. This can get cumbersome (but the price you pay if you don't do it is the coupling he mentions).

  • @nikolairomanov6054
    @nikolairomanov6054 Před 9 dny

    I find it kidna funny that we say that "classical layered approach" can work for small projects and then we try to show benefits of DDD on the same small examples. But sometimes (quite often) in big systems we choose verbosity to provide better clarity and reduce coupling. To me it was terrifying what happened to our domain by the end of the presentation.

  • @thewriteraddict
    @thewriteraddict Před 9 dny

    Beautiful, thank you very much for your work. Excelente video, I learned a lot !

  • @angloper
    @angloper Před 10 dny

    what a nice

  • @matthewmoore5934
    @matthewmoore5934 Před 10 dny

    Great talk! A couple of thoughts. Your statement about entity state and transactions is only true if Spring's "open session in view" is not enabled. I find there is a lot of confusion out there about the Hibernate session, transaction state, OSIV, and entity state. Along similar lines, the call to a repository save() method is unnecessary when updating an attached entity because of Hibernate change tracking, and calling save() leads people to assume that it persists changes, which (counterintuitively) it doesn't. (It adds/merges detached entities to the session/persistence context.) Regarding transaction scope, I would argue it is still too broad. Work for a single user/card should generally happen in its own transaction, at least in an OLTP context.

    • @RafaelPonte
      @RafaelPonte Před 10 dny

      You are welcome! Thanks for the comment ☺️ I am unsure if I followed your comment about Open Session in View. I mean, there's no OSIV relation to a job scheduled by Spring since OSIV has to do with web/MVC scope. The code in the talk is correct. You are right about the save() method; it wasn't needed, but the idea was to show a simple and didact code, not getting into details about how to persist entities or their state transitions. The transaction scope is broader because we are working in batches 😊

    • @matthewmoore5934
      @matthewmoore5934 Před 9 dny

      @@RafaelPonte Thanks for the response. I spend much time working in a WebMVC context that (unfortunately) uses OSIV and I'm too used to its oddities. 🙂

  • @adyanto4043
    @adyanto4043 Před 10 dny

    The thing i hate the most in this video - "Conluding...", i was so engaged didnt wanted him to stop.

    • @RafaelPonte
      @RafaelPonte Před 10 dny

      hahaha, thank you so much for this lovely comment 🙏🏻😍 I am thrilled after reading it!!

  • @ITV-ITV-
    @ITV-ITV- Před 11 dny

    Please don't enforce New UI on us. We'll pay you our money. Wait, we're already doing so.

  • @StijnHommes
    @StijnHommes Před 12 dny

    Sadly this was 45 minutes of wasted time. People had to watch a commercial full of misleading information... 😢

  • @MrMikopi
    @MrMikopi Před 13 dny

    Do any of you suggest implementing JOOQ to a project with Hibernate already implemented? Or is it more like a migration from Hibernate to JOOQ?

  • @janisyoutube
    @janisyoutube Před 13 dny

    Seems like you do not fully understand Event Sourcing and the single-responsibility principle. Why make a video about it?

  • @janisyoutube
    @janisyoutube Před 13 dny

    9:45 Why don't you use individual aggregates for technical and business aspects? Are you not using the Single-responsibility principle?

  • @janisyoutube
    @janisyoutube Před 13 dny

    8:00 Why does the aggregate not fit? Could you please elaborate what is not fitting?

  • @gabrielm6849
    @gabrielm6849 Před 14 dny

    sorry, the topic and the presentation has,without doubt, a high technical value, but the english of this guy, the accent and the way he tries-hard to emphasise almost each and every word in the sentence comes highly unnatural.. it really sounds tiring in the ear

  • @letme4u
    @letme4u Před 14 dny

    thanks for such a lovely session.

  • @janisyoutube
    @janisyoutube Před 14 dny

    7:15 Those two rules are unclear. What happens to students who are over the limit when the limit gets reduced? Do they stay or get expelled? And if so, which students? Do they get notifications? Without any clarification, the situation is undefined.

  • @janisyoutube
    @janisyoutube Před 14 dny

    34:00 Sounds like you're doing checks in the event store, that should have been done beforehand in the command handler.

  • @AlexanderBondarenko-w9f

    Thanks for the presentation! Is a repository of non-DDD example of library available somewhere?

  • @metaltoad8462
    @metaltoad8462 Před 14 dny

    to generate random values to our mocks maybe you should use easyRandom or similia

  • @aditya789101
    @aditya789101 Před 16 dny

    Clear and detailed. Thank you for the efforts!

  • @dezee2412
    @dezee2412 Před 17 dny

    a very interesting project. I will be using it in future.

  • @TechTalksWeekly
    @TechTalksWeekly Před 17 dny

    Roland's talk has been featured in the last issue of Tech Talks Weekly newsletter 🎉 Congrats!

  • @cariyaputta
    @cariyaputta Před 17 dny

    Nice talk. Thanks.

  • @user-gk1sw6tg5g
    @user-gk1sw6tg5g Před 18 dny

    excellent explanation. been struggling to really get it and this just made it so accessible. the info just passed all my brain's filters and is all sending back 200's! ;)

  • @felipedossantos7246
    @felipedossantos7246 Před 18 dny

    I've seen this presentation in portuguese before of Rafael Pontes in Zup Channel, and I could implement something similar it in my job. Great work, Bro! Thank you so much

    • @RafaelPonte
      @RafaelPonte Před 18 dny

      Hi Felipe, Thanks for this comment and for having watched both versions of the talk. ❤

  • @avalagum7957
    @avalagum7957 Před 18 dny

    At 12:09, do `that()` and `should()` really do anything? Or are they just some noop to make code sound English-grammatically correct? At 13:15, `resideInAPackage("...owner...")`: if we refactor the package names (e.g. no package has the word "owner" in it), then this test always passes. Why do variables (e.g. ControllerNaming, OwnerDependencies ...) start with a capital letter? If ArchUnit is written and used in Scala, I guess that those ArchRule can be written like this: classes that areAnnotatedWith Controller.class should haveSimpleNameEndingWith "Controller". This reminds me of ScalaTest which was thought to be cool about 7-8 years ago because of its DSL, but now I wonder how many percentage of Scala developers can stand that syntax.

  • @MrDaniloko23
    @MrDaniloko23 Před 18 dny

    Great content!

  • @julianruppel9171
    @julianruppel9171 Před 18 dny

    Thanks for the really comprehensive explanations

  • @ogyct
    @ogyct Před 19 dny

    Can't say I liked it. In the very beginning we say, that our domain should be framework agnostic and yet we introduce jpa entities right into it. Next we implement BookSearchService in infrastructure. Oh wait, let's just put it in application package just because that's the rule. What is the difference between infrastructure and application then? When creating Loan domain, we introduce LoanRepository argument into its constructor. Why? And there's much more I don't get about it. In the end, even if somehow manage to understand it, how am I supposed to explain it to the others.

  • @TheDrezir
    @TheDrezir Před 19 dny

    I dont understand the trend to make comparison amogn these two languages. Man can make safe and readable code in java & kotlin. All features are now available in both languages, it only differs in what it is called and the usage (for example extension functions you replace with util classes or use bytecode maven plugin for support it dirrectly). This comparision sessions are only for guys liking the smell of their farts (south park if you know :D)

  • @ThiagoMeloBezerra
    @ThiagoMeloBezerra Před 19 dny

    Fantastic!

  • @RanaAhmedNaazer
    @RanaAhmedNaazer Před 19 dny

    Can we debug that python code ?

  • @jmjavautube
    @jmjavautube Před 20 dny

    Is there a repo for this code?

  • @sarmale-cu-mamaliga
    @sarmale-cu-mamaliga Před 20 dny

    The more I hear about you, the more impressed I am. You are awesome!

  • @knight5970
    @knight5970 Před 20 dny

    the best thing about this session is that i learned spring security and Spanish both in best way

  • @pavanerbeck23
    @pavanerbeck23 Před 20 dny

    Nicely done @RafaelPonte.

  • @julianruppel9171
    @julianruppel9171 Před 20 dny

    Perfect talk, enjoyed it a lot

  • @theritesh973
    @theritesh973 Před 24 dny

    ❤❤

  • @virajsh
    @virajsh Před 26 dny

    Great presentation

  • @terteseamos579
    @terteseamos579 Před 26 dny

    this for me is the best presentation. Great job

    • @RafaelPonte
      @RafaelPonte Před 26 dny

      What a comment! Thanks for that! ❤️

  • @aleksandrS3894
    @aleksandrS3894 Před 26 dny

    Does a single @Transactional annotation for Scheduled method (in case of JPA framework) fix the original code right away?

    • @RafaelPonte
      @RafaelPonte Před 26 dny

      Thanks for the comment. It depends on which problem you're talking about. In the talk’s context, it solves only part of the problem: it makes the whole operation atomic and recoverable but causes a few side effects.

  • @bkavun
    @bkavun Před 27 dny

    Great presentation, great work. Thanks a lot for sharing this knowledge with us!

    • @RafaelPonte
      @RafaelPonte Před 26 dny

      Thanks so much! I am glad you liked it 🥳