Best of Spring BootJune 2025

  1. 1
    Article
    Avatar of bytebytegoByteByteGo·49w

    How Netflix Runs on Java?

    Netflix operates its massive streaming platform primarily on Java, utilizing a federated GraphQL architecture with Spring Boot microservices. The company migrated from Java 8 to JDK 21+, adopting virtual threads for improved concurrency and ZGC garbage collector for near-zero pause times. Their backend consists of around 3000 Spring Boot services communicating via gRPC, with GraphQL serving as the client-facing API layer. Netflix moved away from reactive programming (RxJava) in favor of virtual threads and structured concurrency, while building custom tooling to maintain their Spring Boot Netflix stack with company-specific integrations for security, observability, and service mesh functionality.

  2. 2
    Article
    Avatar of freecodecampfreeCodeCamp·48w

    OpenFeign vs WebClient: How to Choose a REST Client for Your Spring Boot Project

    OpenFeign and WebClient are two popular REST client options for Spring Boot applications. OpenFeign offers a declarative approach using annotated interfaces, integrates seamlessly with Spring Cloud components, and works well for synchronous microservice communication. WebClient provides a reactive, non-blocking HTTP client with fluent API design, better suited for high-throughput applications and reactive programming models. The choice depends on your architecture: use OpenFeign for traditional Spring Cloud microservices prioritizing simplicity, and WebClient for reactive applications requiring high performance and concurrent request handling.

  3. 3
    Video
    Avatar of philipplacknerPhilipp Lackner·47w

    How to Upload & Download Files In Spring Boot - Full Production Guide

    A comprehensive guide to implementing secure file upload and download functionality in Spring Boot applications. Covers production-ready practices including storing file metadata in MongoDB while keeping actual files on the filesystem, implementing proper validation and security measures to prevent directory traversal attacks, creating organized folder structures by date, and handling multipart requests. The tutorial demonstrates both local file storage and discusses cloud storage alternatives like AWS S3, emphasizing security best practices such as MIME type validation, unique filename generation, and file size limits.

  4. 4
    Article
    Avatar of jetbrainsJetBrains·46w

    Demystifying Spring Boot With Spring Debugger

    JetBrains introduces Spring Debugger, a plugin for IntelliJ IDEA that simplifies debugging Spring Boot applications by making framework internals visible. The plugin provides visual insights into bean management, property resolution, transaction states, database connections, and enables interactive evaluation of Spring components during debugging sessions. It works without requiring additional runtime agents and uses non-suspending breakpoints to gather application data locally.

  5. 5
    Article
    Avatar of baeldungBaeldung·48w

    Authorize Request for Certain URL and HTTP Method in Spring Security

    Spring Security provides flexible mechanisms to authorize requests based on URLs, HTTP methods, and user roles. The tutorial demonstrates implementing role-based access control in a blogging platform where users can manage their own posts while admins have broader permissions. Key concepts include configuring SecurityFilterChain for URL-based authorization, using @PreAuthorize for method-level security, implementing custom UserDetailsService for database authentication, and creating service layers that enforce business logic with proper access controls. The implementation covers user registration, authentication, and CRUD operations with appropriate security constraints.

  6. 6
    Video
    Avatar of philipplacknerPhilipp Lackner·48w

    Simple Spring Boot Pagination With Pageable & Data Repositories

    Learn how to implement pagination in Spring Boot using Pageable and Data Repositories. The tutorial covers creating a MongoDB document model, setting up a repository with pagination support, and building a REST controller that returns paginated results. Key concepts include using Page and Pageable interfaces, PageRequest for pagination parameters, and PagedModel for consistent JSON responses. The implementation demonstrates fetching paginated todo items with configurable page size and sorting by creation date.

  7. 7
    Article
    Avatar of baeldungBaeldung·48w

    Guide to Java Diff Utils

    Java Diff Utils is a lightweight library for comparing text content line-by-line and generating unified diffs. The guide covers setting up the library with Maven, creating utility classes for text comparison, generating unified diff outputs, applying patches to transform content, and building side-by-side diff views. Key features include simplicity with clean APIs, cross-platform compatibility, and integration capabilities with Spring Boot applications. The library is particularly useful for version control systems, collaborative editors, and code review tools.