AOP: aspect / pointcut / advice / weaving
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…
Tech news from the best sources
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…
TL;DR: Phase 1 of a from-scratch RAG app — Spring AI, pgvector, local Ollama — ends with a working pipeline and two failures that look identical fro…
Model Context Protocol (MCP) is an open standard for connecting AI apps to tools and data sources. A useful way to think about it is as a USB-C port…
OrderHub Day 4: never trust the client. Today the backend gets proper Bean Validation — bad requests are rejected at the edge with a clear 400, long…
OrderHub Day 2 let Hibernate create the schema with ddl-auto: update — fine for a demo, scary for a real team (unversioned, unreviewable, and it qui…
OrderHub Day 1 stored orders in a HashMap — restart the server and they're gone. Day 2 fixes that: real persistence with JPA + PostgreSQL , and than…
A deep dive into API versioning — what goes wrong without it, the old way developers survived it, and why Spring 7's new approach changes everything…
This module built one thing, from many angles: the container — the part of Spring that creates your objects, wires them together, and hands them out…
Most Spring Boot applications eventually need authentication. And many teams rebuild the same foundation every time. Add a login endpoint. Generate…
Most persistence debates in Java are framed incorrectly. The question is not: Should we use JPA, jOOQ, or JDBC? The real question is: Is this part o…