Code Explainers
Spring code explainers
java
@Target({ElementType.FIELD, ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) @Constraint(validatedBy = StrongPasswordValidator.class) @Documented
Building a custom @StrongPassword validator in Spring
bean-validation
annotations
regex
Intermediate
7 steps
java
@Component public class JwtAuthenticationFilter extends OncePerRequestFilter { private final JwtTokenProvider tokenProvider;
How a JWT auth filter works in Spring
authentication
jwt
servlet-filter
Intermediate
8 steps
java
@Entity @Table(name = "accounts") public class Account {
Optimistic locking with @Version in Spring
optimistic-locking
jpa
concurrency
Advanced
7 steps
java
@RestController @RequestMapping("/webhooks/stripe") public class StripeWebhookController {
How a Stripe webhook controller works in Spring
webhooks
signature-verification
event-handling
Intermediate
7 steps
java
package com.example.payments.config; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotBlank;
Type-safe config with Spring records
configuration
validation
records
Intermediate
6 steps
java
@Component public class RequestTimingInterceptor implements HandlerInterceptor { private static final Logger log = LoggerFactory.getLogger(RequestTimingInterceptor.class);
How a Spring HandlerInterceptor times requests
interceptor
request-lifecycle
logging
Intermediate
6 steps
java
@RestController @RequestMapping("/api/products") public class ProductController {
How a paginated REST controller works in Spring
pagination
dto-mapping
dependency-injection
Intermediate
8 steps
java
@WebMvcTest(OrderController.class) class OrderControllerTest { @Autowired
Slice testing a controller with @WebMvcTest in Spring
testing
mocking
http
Intermediate
8 steps
java
package com.example.monitoring; import org.springframework.boot.actuate.health.Health; import org.springframework.boot.actuate.health.HealthIndicator;
A custom replica health check in Spring
health-check
actuator
monitoring
Intermediate
7 steps
java
@Repository public interface OrderRepository extends JpaRepository<Order, Long> { @QueryHints(@QueryHint(name = HINT_FETCH_SIZE, value = "1000"))
Streaming large result sets in Spring Data JPA
streaming
jpa
memory-management
Advanced
6 steps