Prev Next

Spring / Spring Boot 4 Basics Interview Questions

What is Spring AI and how does it integrate with Spring Boot 4?

Spring AI is a first-class Spring ecosystem project that reached 1.0 GA in May 2025 and is now on a 2.x development track. It provides a model-agnostic abstraction layer for integrating LLMs, vector stores, and AI pipelines into Spring Boot 4 applications.

Spring AI core concepts
ConceptDescription
ChatModelAbstraction over LLM providers (OpenAI, Gemini, Anthropic, Mistral, Ollama, etc.)
EmbeddingModelGenerates vector embeddings from text
VectorStoreAuto-configured integration with 10+ vector databases (pgvector, Pinecone, Chroma, Weaviate, etc.)
ChatClientFluent API for building prompt chains, advisors, and tool calling
Tool callingLLMs can invoke Spring beans as tools (@Tool annotation)
MCP supportModel Context Protocol server integration
RAG pipelinesQuestionAnswerAdvisor for retrieval-augmented generation
// Spring AI: ChatClient in Spring Boot 4
@Service
public class CustomerSupportService {

    private final ChatClient chatClient;

    public CustomerSupportService(ChatClient.Builder builder,
                                  VectorStore vectorStore) {
        this.chatClient = builder
            .defaultSystem("You are a helpful customer support agent.")
            .defaultAdvisors(
                // RAG: retrieve relevant documents before answering
                new QuestionAnswerAdvisor(vectorStore),
                new MessageChatMemoryAdvisor(new InMemoryChatMemory())
            )
            .build();
    }

    public String answer(String question) {
        return chatClient.prompt()
            .user(question)
            .call()
            .content();
    }
}

// Tool calling: LLM can call Spring beans as tools
@Service
public class OrderTools {
    @Tool(description = "Get the current status of an order by its ID")
    public String getOrderStatus(String orderId) {
        return orderService.findById(orderId).status().name();
    }
}

# application.yml: Spring AI OpenAI configuration
spring:
  ai:
    openai:
      api-key: ${OPENAI_API_KEY}
      chat:
        options:
          model: gpt-4o-mini
          temperature: 0.7

What is the primary advantage of Spring AI's ChatModel abstraction over calling LLM APIs directly?
What does the @Tool annotation do in Spring AI when used on a Spring bean method?

More Related questions...

What is Spring Boot 4 and when was it released? What is the complete modularisation of Spring Boot 4 and why does it matter? What is the Java version baseline in Spring Boot 4 and what Java features does it unlock? What is Jakarta EE 11 and what changes does it bring in Spring Boot 4? How does Spring Boot 4 auto-configuration work and what is the new @AutoConfiguration annotation? What is native API versioning in Spring Boot 4 and how do you use it? What are JSpecify nullability annotations in Spring Boot 4 and why are they important? What changed with Jackson in Spring Boot 4 and what are the migration considerations? What are @Retryable and @ConcurrencyLimit in Spring Boot 4 and how do they work? What are HTTP Service Clients in Spring Boot 4 and how do you define them? What are the key breaking changes removed in Spring Boot 4 that were deprecated in Boot 3? How does Spring Boot 4 handle dependency injection and what are the core stereotypes? What is Spring Boot's application.properties / application.yml and how does configuration work? What are Spring Boot profiles and how do you use them for environment-specific configuration? How does Spring Boot 4 testing work with @SpringBootTest and test slices? What is Spring Boot Actuator and what does it provide in Boot 4? How does Spring Boot 4 handle data access with Spring Data JPA? What is Spring Security in Spring Boot 4 and what are the key Boot 4 changes? What is the Spring Boot starter parent (POM) and how do you set up a Spring Boot 4 project? What is @SpringBootApplication and what does it combine? How do you build REST APIs with Spring Boot 4 using @RestController? How does Bean Validation work with Spring Boot 4? What is Spring Boot's embedded server and how do you configure it? What is Spring Boot's transaction management with @Transactional? What is Spring Boot's caching abstraction and how do you use it? What is Spring Boot's observability stack in Boot 4 with Micrometer and OpenTelemetry? How does Spring Boot 4 support GraalVM native images? What is Spring WebFlux and reactive programming in Spring Boot 4? What is Spring Boot's exception handling with @RestControllerAdvice? How do you use Spring Data MongoDB and other NoSQL stores in Spring Boot 4? How does Spring Boot 4 handle async processing with @Async? What is Spring Boot's externalized configuration with @Value and @ConfigurationProperties? What is Spring Boot's messaging support with Kafka in Boot 4? How do you schedule tasks in Spring Boot 4 with @Scheduled? What is Spring AI and how does it integrate with Spring Boot 4? How does Spring Boot 4 handle logging configuration? What is Spring Boot 4 migration from Boot 3: complete checklist and common pitfalls? What is Spring Boot DevTools and how does it improve development productivity? How does Spring Boot 4 support containerised deployments with Docker? What is the Spring Boot 4 vs Spring Boot 3 comparison and what are the key takeaways?
Show more question and Answers...


Comments & Discussions