16d6781675608049262a67434d4aac4c91153823
Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01G8ikz8xdWuTP5yun8DZ1hk
langchain4j-demo
Companion code for the ankurm.com LangChain4j posts. Every number and transcript quoted in a post
comes from a file in a module's output/ folder, and the tests that write those files also assert
the same facts, so the build fails when a claim stops being true.
| Module | Post | What it shows |
|---|---|---|
ai-services |
LangChain4j AI Services with Spring Boot 4: Declarative LLM Interfaces | prompt templates, chat memory, tools, RAG, and the @MemoryId trap |
Versions (verified on Maven Central, 2026-10-11)
| Component | Version | Note |
|---|---|---|
LangChain4j (langchain4j, langchain4j-core, BOM) |
1.22.0 | GA |
| LangChain4j beta modules (starters, embeddings, agentic) | 1.22.0-beta32 | beta only, no GA exists |
| JDK | 25 LTS | |
| JUnit | 6.1.3 |
Run
export JAVA_HOME=/path/to/jdk-25
mvn test
No API key is needed. The tests use ScriptedChatModel, a deterministic stand-in for an LLM, so
they can assert exactly which messages LangChain4j sent. Replace it with OpenAiChatModel or any
other ChatModel and the AI Service interfaces do not change.
Each module writes its transcripts to <module>/output/ when you run the tests.
Languages
Java
100%