The S3 Local Dev Trick: Using MinIO to Simplify Cloud-Native Developmen
As a software architect building cloud-native solutions, you know that working with cloud services like AWS S3 can be a bit tricky in a local development environment. You don’t want…
NullPointerExcepiton enhancements
The NullPointerException is a common exception in Java that occurs when a null reference is dereferenced. This exception can make debugging difficult, as it does not provide any information about…
Beyond Basic CRUD: Mapping Life Cycle Event Methods to Spring Data REST Operations
Spring Data REST elegantly exposes your JPA entities as RESTful resources, handling the underlying Create, Retrieve, Update, and Delete (CRUD) operations. But how do the life cycle events we discussed…
Java Teeing Collectors
Java 12 introduced a new collector called the Teeing collector. This collector allows you to process elements with two different collectors simultaneously and combine the results into a single output.…
Navigating the Microservice Maze: Using the Discovery Client for Service Instance Identification
In the world of microservices, applications are broken down into smaller, independent services that communicate with each other over a network. This distributed architecture offers numerous benefits like scalability, resilience,…
Record Patterns in Java 21: Simplifying Data Extraction
Java 21 introduces record patterns, a powerful addition to the pattern matching arsenal. This feature streamlines the extraction of components from record classes, making code more concise and readable. What…
Java Switch Expressions
In Java, switch statements have traditionally been used to evaluate a value and execute different code blocks based on the value’s match with specific cases. However, starting from Java 14,…