Spring AI: The Senior Dev's Honest Take on Java's AI Moment Spring AI, an official Spring project, reached 1.0 GA in May 2025 and shipped 1.1 in November 2025 with 850+ improvements, including full Model Context Protocol integration. The framework integrates AI models into Java using auto-configuration, dependency injection, and vendor-portable abstractions, supporting 20+ AI model providers and 12+ vector stores behind a single API. It aims to close the gap for Java developers building AI-powered applications without switching stacks. TL;DR Spring AIis an official Spring project that integrates AI models into Java using familiar patterns: auto-configuration, dependency injection, and vendor-portable abstractions.- It reached 1.0 GA in May 2025and shipped1.1 in November 2025with 850+ improvements, including fullMCP Model Context Protocol integration.- Supports 20+ AI model providers OpenAI, Anthropic, Google, Ollama, and more and12+ vector storesbehind a single consistent API.- If your team runs Spring Boot, you have no good reason to write raw HTTP calls to an LLM anymore. The history of programming languages is mostly a history of incumbents surviving longer than anyone predicted. COBOL still processes an estimated $3 trillion in daily financial transactions. Fortran still appears in climate models and aerospace simulations. Java, introduced in 1995, became the substrate of the enterprise world and never left. Then AI models arrived and, for a brief window, seemed to break this pattern. The default language for working with language models was Python. Not because Python is architecturally superior. Because the researchers and tooling builders who created LangChain, HuggingFace integrations, and notebook-first workflows were Python developers who built for themselves first. The Java engineer maintaining the systems that actually run the bank, the logistics platform, or the hospital records management system found themselves looking at Python SDKs for a technology their organization was already being asked to adopt. The operating assumption forming in 2023 was that AI integration required a completely different stack. That assumption turned out to be wrong. Spring AI is the evidence. The uncomfortable reality of the 2023-2024 AI wave was that Java was not in the initial conversation. The fast-moving AI tooling ecosystem was almost entirely Python-native. The mental model that formed, correctly for a time, was that building AI applications required a stack switch, not just a skill addition. Java developers who had spent careers building production-grade distributed systems found themselves watching an entire category of tooling emerge around a language they did not use day-to-day. According to the 2024 BellSoft Java Survey, roughly 74% of Java developers already use AI tools in their day-to-day work, but only 34% were using any AI framework to build AI-powered applications. The gap between using AI and building with AI is exactly where Spring AI operates. The question most teams were facing was not philosophical. It was architectural: do we maintain existing Spring Boot microservices, or do we introduce a Python sidecar service to handle every LLM call? The two-process architecture feels manageable in a prototype and becomes a maintenance liability in production. Spring AI closes that gap. It brings AI model integration into the Spring container itself, using the same patterns your team already knows. Spring AI is an application framework that connects enterprise Java applications to AI models using portable abstractions, Spring Boot auto-configuration, and familiar dependency injection patterns. It supports 20+ model providers and 12+ vector stores behind a single consistent API, with built-in RAG, tool calling, chat memory, and Model Context Protocol support. The project reached 1.0 GA in May 2025 and is production-ready today. The official description from the Spring team https://spring.io/projects/spring-ai is precise: Spring AI applies core Spring design principles to the AI domain, specifically portability and modular design, and promotes using plain Java objects as the building blocks of AI applications. Think Spring Data, but for AI models instead of databases. The same philosophy applies. You describe what you want from a model without pinning your code to a specific vendor. If you have been writing JpaRepository abstractions for years, the mental model transfers directly. Josh Long, Spring Developer Advocate at Broadcom, said it plainly at DevOps UK in 2025: building AI applications is mostly just calling models that have HTTP APIs. If you can build a Spring Boot service, you are already an AI developer. The skills transfer. The tooling just needed to catch up. Spring AI currently supports: Spring AI 2.0 is in active milestone development as of mid-2026, built on Spring Boot 4.0, Spring Framework 7.0, and a Jakarta EE 11 baseline, with Java 21 as the minimum runtime. The Spring container already knows your business logic. It has been holding your @Service beans since the day you wrote them. Now it is making introductions, placing your existing code in the same room as whatever language model you are deploying that quarter. The primary API is ChatClient , a fluent builder interface designed to feel like a sibling of WebClient or RestClient . Here is a working RAG-enabled chat endpoint with Spring AI 1.1: @RestController public class DocumentChatController { private final ChatClient chatClient; public DocumentChatController ChatClient.Builder builder, VectorStore vectorStore { this.chatClient = builder .defaultAdvisors new QuestionAnswerAdvisor vectorStore .build ; } @GetMapping "/ask" public String ask @RequestParam String question { return chatClient.prompt .user question .call .content ; } } Four things are happening here that required significant boilerplate a year ago. The QuestionAnswerAdvisor retrieves relevant documents from the vector store and injects them into the prompt automatically. The VectorStore abstraction means you can swap PostgreSQL/PGVector for Pinecone without touching this controller. The model itself is configured in application.yml . The entire thing is a standard @RestController . That is not a toy example. That is close to what a real document Q&A endpoint looks like in production. One of the more immediately useful things Spring AI does is treat provider selection as a deployment concern. To switch from OpenAI to Anthropic, you update application.yml : OpenAI setup spring: ai: openai: api-key: ${OPENAI API KEY} chat: options: model: gpt-4o Anthropic setup swap in, no code changes required spring: ai: anthropic: api-key: ${ANTHROPIC API KEY} chat: options: model: claude-sonnet-4-5 Your controllers, services, and business logic stay unchanged. That portability is the central design promise of the framework, and in practice it holds. Spring AI 1.1 introduced first-class Model Context Protocol MCP integration, and this is the most strategically significant part of the framework for teams building agentic systems. MCP is the emerging standard for interoperability between AI agents and the external tools they need to call. With Spring AI, you register existing business logic as AI-callable functions with minimal code: @Configuration public class BankingTools { @Bean @Description "Fetch the account balance for a given customer ID" public Function