How to secure a Spring Security client application with OIDC (using pac4j)
If you already have Spring Security in your application, with hasRole rules, @PreAuthorize on services and code reading SecurityContextHolder and yo…
Tech news from the best sources
If you already have Spring Security in your application, with hasRole rules, @PreAuthorize on services and code reading SecurityContextHolder and yo…
Somebody owns the Kafka cluster you need, and it is not you. You have a topology in mind: read orders , keep the big ones, write them somewhere. You…
🧠 The big idea in one line Spring finds the handler, prepares its arguments, calls it, and handles the result. Why this exists — an HTTP request con…
When I started learning Spring, I noticed something about many of the tutorials I found. They often showed how to use a feature, but not always why…
Introduction This week was another challenging but rewarding part of my #100DaysOfCode journey. I started the week by learning about Docker and cont…
Originally published at bitsar.net . Twelve pods, one Redis, and @Cacheable(sync = true) on the method. I read that as a protected endpoint. It coor…
Introduction This week was another challenging but rewarding part of my #100DaysOfCode journey. I continued going deeper into Microservices with Spr…
What a starter actually is When you build a real application, you rarely need just one library. To expose a web endpoint in the Spring world, for ex…
What Boot actually is If you have written any Spring at all, you have met the container — the engine that reads your classes, builds one object per…
Every codebase grows a set of chores that have nothing to do with the actual job of a method, yet somehow end up inside every method anyway. Logging…
There is a question that costs me half an hour every time I have to answer it: If I change this controller method, what else breaks? The honest proc…
Introduction This has been one of the toughest weeks I've experienced since starting this challenge. There were moments when I doubted myself , ques…
You put @Transactional on a method and a database transaction opens before it runs and commits when it returns — yet you never wrote a line to start…
Two hooks with nearly the same name Spring's container builds your objects so you don't have to. You mark a class, and a fully-wired object — a bean…
This week, Anthropic's system-prompt release notes became the top story on Hacker News. The page is where Anthropic publishes the exact instructions…
Introduction This week, I decided to slow down and go deeper into the Spring Framework . Instead of focusing heavily on building new features, I spe…
Three days ago I knew exactly what a DeepSeek call cost me. I had wired DeepSeek V4 Pro 0813 into a Spring Boot app with Spring AI, and the math was…
When I started learning Spring, I noticed something about many of the tutorials I found. They often showed how to use a feature, but not always why…
Querydsl is one of those libraries that everyone used for years and then quietly stopped updating. The 5.0 release has been "coming soon" since 2019…
Last month, I was building an AI assistant for an e-commerce system. The idea was simple: let users ask natural-language questions about orders and…
Earlier this year, I needed to add an AI assistant to a Spring Boot application I maintain. Nothing exotic -- just a chat interface that could answe…
完全的萌新第一个SpringBoot项目,主要爆红问题是: MyBatis-Plus尝试执行某个 Mapper 方法,却找不到与之对应的 SQL 映射 具体爆红日志如下: 2026-07-29T16:57:48.976+08:00 ERROR 38512 --- [nio-8080-exec-6…
Numbers are easy to skim. 10 Critical. 99 High. 59 Medium. 20 Low. 188 total. Those numbers appeared in the first article and they're striking — but…
If you have written enterprise Java in the last 20 years, you know the name Rod Johnson. He created Spring Framework back in 2003 - the thing that m…
If you've ever started a Java project, you probably know how much configuration is usually required. You need to configure XML files, register beans…
If you've wired up a Spring Boot resource server behind Keycloak and your @PreAuthorize("hasRole('ADMIN')") is silently returning 403 for a user you…
Every developer who has worked with LLMs has been there. You ask the model for JSON. You describe the schema. You say "please only respond with vali…
Introduction Imagine you're assembling a new piece of furniture. One option is to buy every screw, bolt, plank, and tool separately, then spend hour…
Summary: I had a rough time adding Google login to my app, Kenning. It took me a while to figure out four issues that were causing problems. These i…
Spring Data JPA has one genuinely magical feature: you declare a query by naming a method . No SQL, no @Query , no implementation. interface OrderRe…