Code Explainers

Java code explainers

java
@Component
required to import
public class OutboxEventPublisher {
 

The transactional outbox pattern in Spring

transactional-outbox event-driven reliability
Advanced 7 steps
java
@RestController
@RequestMapping("/api/payments")
public class PaymentController {
 

Polymorphic payment requests in Spring

polymorphic deserialization sealed interfaces bean validation
Advanced 7 steps
java
package com.example.payments.config;
 
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;

Configuring a Stripe RestClient in Spring

dependency-injection http-client configuration
Intermediate 7 steps
java
public class GitHubUserClient {
 
    private final HttpClient http = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(10))

Calling the GitHub API with Java's HttpClient

http-client json-deserialization error-handling
Intermediate 9 steps
java
public final class AccessLogParser {
 
    private static final Pattern LINE = Pattern.compile(
        "^(?<ip>\\S+) \\S+ \\S+ \\[(?<time>[^\\]]+)\\] "

Parsing Apache access logs in Java

regex named-groups parsing
Intermediate 7 steps
java
public class KeysetPaginationRepository {
 
    private final DataSource dataSource;
 

How keyset pagination works in Java

pagination sql jdbc
Intermediate 8 steps
java
public final class AesGcmCipher {
 
    private static final String TRANSFORMATION = "AES/GCM/NoPadding";
    private static final int GCM_TAG_BITS = 128;

Authenticated encryption with AES-GCM in Java

cryptography aes-gcm authenticated-encryption
Intermediate 7 steps
java
@RestController
@RequestMapping("/api/notifications")
public class NotificationStreamController {
 

Server-Sent Events per user in Spring

server-sent-events concurrency event-driven
Advanced 8 steps
java
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.zip.GZIPInputStream;

Compressing byte arrays with GZIP in Java

compression streams try-with-resources
Intermediate 6 steps
java
package com.example.inventory;
 
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVParser;

Reading and writing CSV with Commons CSV

csv-parsing file-io try-with-resources
Intermediate 7 steps
java
package com.example.security;
 
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;

Salted password hashing with PBKDF2 in Java

password-hashing pbkdf2 salting
Intermediate 7 steps
java
package com.example.orders.repository;
 
import com.example.orders.domain.Order;
import org.springframework.data.jpa.repository.JpaRepository;

Projection interfaces in Spring Data JPA

projections jpql aggregation
Intermediate 7 steps
java
@RefreshScope
@Component
public class FeatureSettings {
 

Refreshable feature settings in Spring

caching configuration dependency-injection
Intermediate 7 steps
java
public final class ZipExtractor {
 
    private final Path targetDir;
 

Extracting a zip safely in Java

path-traversal streams file-io
Intermediate 8 steps
java
@Entity
@Table(name = "invoices")
@FilterDef(name = "tenantFilter", parameters = @ParamDef(name = "tenantId", type = String.class))
@Filter(name = "tenantFilter", condition = "tenant_id = :tenantId")

Multi-tenant row filtering with Hibernate in Spring

multi-tenancy hibernate filters request interceptor
Advanced 7 steps
java
@Configuration
@EnableIntegration
public class OrderProcessingFlow {
 

Building an order pipeline with Spring Integration

messaging pipeline enterprise integration patterns
Intermediate 9 steps
java
public OrderConfirmation submitOrder(Order order) throws IOException, InterruptedException {
    String payload = objectMapper.writeValueAsString(order);
 
    HttpRequest request = HttpRequest.newBuilder()

Posting an order with Java's HttpClient

http-client json-serialization error-handling
Intermediate 6 steps
java
package com.acme.billing.config;
 
import org.flywaydb.core.Flyway;
import org.flywaydb.core.api.MigrationVersion;

Customizing Flyway migrations in Spring

database-migrations flyway dependency-injection
Intermediate 6 steps