Engineering With Java: Digest #64
Spring boot 4, Spring framework 7, Securing Spring app, GraalVM AOT, Embabel, Row level security and more ...
Welcome to this week’s edition! I hope you all are doing great in your careers. We have summarized this week’s Java and Spring Boot updates in a 5-minute summary.
Channel stats:
Subscribers change - 2683 → 2725 ( Thank you for subscribing, it means a lot ❤️)
Paid subscribers change - 2 ( Thank you for supporting my work ❤️)
📝 Articles Of The Week (8)
Spring Boot 4 & Spring Framework 7 – What’s New : Spring Boot 4 and Spring Framework 7 modernize the stack by aligning with Jakarta EE 11, adopting Jackson 3.x, and dropping legacy support like JUnit 4. New additions include API versioning, declarative HTTP clients, resilience annotations, testing improvements, and JSpecify-based null safety.
Secure Your Spring Boot Apps Using Keycloak and OIDC : Secure Spring Boot apps using Keycloak with OIDC for JWT-based authentication. Configure issuer URI, role mappings, and JWT-to-authority conversion for access control. Enable method-level security and test endpoints with mocks.
Custom Retry Policies in Spring Boot WebClient Calls : Custom retry policies in Spring Boot WebClient using Reactor. Support fixed delays, exponential backoff, and custom delays. Use backpressure, jitter, and circuit breakers to prevent retry storms.
Row Level Auditing in Spring Boot with JPA Event Listeners : Implement row-level auditing in Spring Boot using JPA event listeners to automatically track entity changes during insert, update, and delete operations. Utilize entity lifecycle annotations like
@PrePersist
,@PreUpdate
, and@PreRemove
within dedicated listener classes to capture and log changes without modifying service layer logicMongoDB Schemas in Java : Integrating MongoDB with Java applications, emphasizing the importance of schema definition in loosely-typed systems. Discusses the challenges and strategies for ensuring data consistency and validation within MongoDB's flexible schema environment.
TupleTransformer and ResultListTransformer in Hibernate : Hibernate
TupleTransformer
mapsTuple
query results to custom objects.ResultListTransformer
enables batch processing of query results. Supports handling complex queries and improving performance on large datasets.GraalVM Ahead-of-Time Compilation: A Guide to Optimizing Production Builds : GraalVM Ahead-of-Time (AOT) compilation converts Java bytecode into native executables, improving startup time and reducing memory usage. Profile-Guided Optimization (PGO) uses runtime profiling data to enhance AOT build performance. Explicit reflection configuration is required to preserve reflective accesses during AOT compilation.
Different Log Levels for File and Console in Spring Boot : Spring Boot uses Logback as the default logger, applying the same log level to console and file outputs by default. Separate appenders in
logback-spring.xml
allow configuring different log levels for console and file. Enables detailed file logs for troubleshooting while keeping console output concise.
▶️ Videos Of The Week (4)
All API Additions From Java 21 to 25: JDK 25 introduces lenient parsing for flexible date, time, and locale handling, and scope values to replace thread locals with predictable, memory-safe bindings. Stream gatherers enable complex intermediate stream operations, while the class file API allows bytecode inspection and manipulation for tasks like replacing loops with streams. The foreign function and memory API provides safe access to off-heap memory and native code, replacing
Unsafe
with standardized arenas.Secure Java Applications against Quantum Threats: Quantum threats endanger current encryption, making post-quantum cryptography (PQC) standards like ML KEM and MLDDSA essential. Java integrates HPKE, KDF, and authenticated encryption across JDK 21–25 to enable secure key exchange and encryption resistant to quantum attacks.
Better Assertions with AssertJ : Testing in Java has evolved significantly, moving from JUnit 3’s rigid, annotation-free patterns to JUnit 5’s expressive, lambda-based assertions. Modern approaches, such as AssertJ, provide clear, fluent, and expressive assertions that improve test readability, reduce errors, and standardize verification practices across projects.
Agentic AI Agents with Embabel : Embabel workflows are dynamically orchestrated using type-safe actions, allowing agents to handle complex, branching processes reliably. Each step transforms typed inputs to outputs, enabling iterative replanning and fallback strategies with different models for efficiency and robustness. This approach integrates seamlessly with existing Spring infrastructure, letting AI orchestrate tasks while leveraging decades of enterprise business logic for scalable, maintainable systems
Social Media Posts Of The Week
This post talks about Java 22's built-in feature that allows manipulating class files. Some cool things you can do with it right now:
Read class structure: iterate fields, methods, signatures, and annotations.
Traverse bytecode instructions with a visitor-style API.
Generate/transform classes with safe, builder-style APIs.
🛠️ Code & Tools Of The Week
json-io is a Java library for serializing and deserializing objects to and from JSON, with support for complex object graphs, cycles, and polymorphism. It’s lightweight, has no external dependencies, and works across modern JDKs, making it useful in environments where frameworks like Jackson or Gson might be too heavy.
📚 Books Of The Week
Testing Java Microservices is focused on testing strategies for Java microservice architectures on the JVM. It covers from simple unit tests through to full end-to-end and system-level testing. It assumes you’ve worked with Java frameworks (Java EE, Spring etc.), containers & microservices, and want to improve confidence, coverage, performance and reliability.
🧑🏻💻 Interview Prep (2)
Grokking the Java Interview (Vol 1 & 2)
Grokking the Spring Boot Interview
Grokking the SQL Interview
Java SE 17 Developer Certification (1Z0-829) Guide
250+ Spring Framework Certification Practice Questions
Covers end-to-end stack: from service code + Spring, through containerization, orchestration, observability, and security. That gives a broad practical view.
Strong lineup of tools that are relevant in “real world” microservices systems (Resilience, Observability, Gateway, etc.).
Hands-on: you’ll actually build things, configure Docker, configure Kubernetes, deploy, etc. That helps reinforce understanding.
Check out our in-house new quizzes(3) and interview(22) questions.
Thanks for making it till the end. If you like this newsletter, please consider subscribing and sharing with your fellow Java developers.
If you like to sponsor this newsletter or have a product that you want to promote please email at: surajmishra150893@gmail.com. Basic details can be found here.
To connect with me, LinkedIn | Twitter.If you have any questions about software engineering, careers, or related topics, feel free to DM me. I’d be happy to share insights from my 9 years of experience in fintech across India, Japan, the US, and Canada to help fellow software engineers.