<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Dan Vega</title>
    <description>Personal site of Dan Vega</description>
    <link>https://www.danvega.dev</link>
    <atom:link href="https://www.danvega.dev/rss.xml" rel="self" type="application/rss+xml"/>
    <language>en-us</language>
    <lastBuildDate>Mon, 20 Apr 2026 13:21:36 GMT</lastBuildDate>
    <managingEditor>danvega@gmail.com (Dan Vega)</managingEditor>
    <webMaster>danvega@gmail.com (Dan Vega)</webMaster>
    <item>
      <title>Embabel MCP Servers and Tools: Supercharging Your Agentic Flows on the JVM</title>
      <description>Learn how to add tools and MCP servers to your Embabel agents in Java. Build a blog writing agent that can research topics, calculate reading time, and generate front matter.</description>
      <link>https://www.danvega.dev/blog/embabel-mcp-servers-and-tools</link>
      <guid>https://www.danvega.dev/blog/embabel-mcp-servers-and-tools</guid>
      <pubDate>Fri, 10 Apr 2026 08:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring AI</category>
      <category>Embabel</category>
      <category>Java</category>
    </item>
    <item>
      <title>Embabel First Look: Building Agentic Flows on the JVM</title>
      <description>A first look at Embabel, a framework by Rod Johnson for building agentic AI flows on the JVM. Learn how to create a blog writing agent with goal-oriented action planning.</description>
      <link>https://www.danvega.dev/blog/embabel-first-look</link>
      <guid>https://www.danvega.dev/blog/embabel-first-look</guid>
      <pubDate>Thu, 02 Apr 2026 08:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring AI</category>
      <category>Java</category>
    </item>
    <item>
      <title>GraphQL for Java Developers</title>
      <description>Learn how to build scalable GraphQL APIs with Java 26 and Spring Boot 4. This course walks you through schema-first development, batch loading, unions, Query by Example, AOT repositories, and more.</description>
      <link>https://www.danvega.dev/blog/getting-started-with-graphql-for-java-developers</link>
      <guid>https://www.danvega.dev/blog/getting-started-with-graphql-for-java-developers</guid>
      <pubDate>Wed, 01 Apr 2026 08:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Java</category>
      <category>GraphQL</category>
    </item>
    <item>
      <title>Spring, Build Me a Coding Agent</title>
      <description>Learn how to build an autonomous coding agent in Spring AI using the Spring AI Agent Utils library. This tutorial walks you through creating a CLI-based agent with file system access, shell commands, and skills.</description>
      <link>https://www.danvega.dev/blog/spring-building-me-a-coding-agent</link>
      <guid>https://www.danvega.dev/blog/spring-building-me-a-coding-agent</guid>
      <pubDate>Tue, 31 Mar 2026 08:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring AI</category>
      <category>Spring Boot</category>
      <category>Java</category>
    </item>
    <item>
      <title>Giving Your Spring AI Agents a Real Browser with the Browserbase Spring Boot Starter</title>
      <description>Most AI agents can search the web. But what happens when they need to actually use it? I built a Spring Boot Starter for Browserbase that gives your agents a real, headless browser in three lines of configuration, plus a deep research agent to show it off.</description>
      <link>https://www.danvega.dev/blog/browserbase-spring-boot-starter</link>
      <guid>https://www.danvega.dev/blog/browserbase-spring-boot-starter</guid>
      <pubDate>Wed, 25 Mar 2026 08:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Spring AI</category>
    </item>
    <item>
      <title>JEP 500: Prepare to Make Final Mean Final in JDK 26</title>
      <description>JDK 26 introduces JEP 500, which warns developers when final fields are mutated through reflection. Here&apos;s what this means for your Java code and how to prepare for the future.</description>
      <link>https://www.danvega.dev/blog/jdk-26-final-means-final</link>
      <guid>https://www.danvega.dev/blog/jdk-26-final-means-final</guid>
      <pubDate>Fri, 20 Mar 2026 10:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Java</category>
    </item>
    <item>
      <title>Building a Spring Initializr Terminal UI with Java</title>
      <description>How I built a terminal user interface for the Spring Initializr using Tambu UI, a new Java TUI framework, and GraalVM native images to streamline my development workflow.</description>
      <link>https://www.danvega.dev/blog/spring-initializr-tui</link>
      <guid>https://www.danvega.dev/blog/spring-initializr-tui</guid>
      <pubDate>Sat, 14 Mar 2026 10:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Java</category>
      <category>Spring Boot</category>
    </item>
    <item>
      <title>Spring AI Prompt Caching: Stop Wasting Money on Repeated Tokens</title>
      <description></description>
      <link>https://www.danvega.dev/blog/spring-ai-prompt-caching</link>
      <guid>https://www.danvega.dev/blog/spring-ai-prompt-caching</guid>
      <pubDate>Sun, 08 Feb 2026 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring AI</category>
    </item>
    <item>
      <title>I Tried OpenAI&apos;s New Codex Agent. Here are my First Impressions (It&apos;s Really Good)</title>
      <description>OpenAI released Codex, a new GUI for their coding agent. I put it to the test by building a vending machine CLI application in Java 25 with Maven, JUnit 6, and JSpecify null safety annotations.</description>
      <link>https://www.danvega.dev/blog/openai-codex-first-look</link>
      <guid>https://www.danvega.dev/blog/openai-codex-first-look</guid>
      <pubDate>Thu, 05 Feb 2026 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Java</category>
      <category>AI</category>
    </item>
    <item>
      <title>OpenTelemetry with Spring Boot 4: The New Starter You&apos;ve Been Waiting For</title>
      <description>Learn how to use the new spring-boot-starter-opentelemetry in Spring Boot 4 to add observability with traces, metrics, and logs—no Actuator required.</description>
      <link>https://www.danvega.dev/blog/opentelemetry-spring-boot</link>
      <guid>https://www.danvega.dev/blog/opentelemetry-spring-boot</guid>
      <pubDate>Tue, 23 Dec 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Observability</category>
    </item>
    <item>
      <title>Building a Spring Boot 4 REST API the Fast Way</title>
      <description>Learn how to build a REST API with Spring Boot 4 in minutes. This tutorial shows you how to create CRUD endpoints using Java records and the @RestController annotation.</description>
      <link>https://www.danvega.dev/blog/spring-boot-4-rest-api</link>
      <guid>https://www.danvega.dev/blog/spring-boot-4-rest-api</guid>
      <pubDate>Thu, 18 Dec 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Java</category>
      <category>REST API</category>
    </item>
    <item>
      <title>Loading Resources in Spring Boot</title>
      <description>Learn how to load resources in Spring Boot using the Resource interface. This tutorial covers three approaches for loading files from the classpath, filesystem, and URLs.</description>
      <link>https://www.danvega.dev/blog/loading-spring-resources</link>
      <guid>https://www.danvega.dev/blog/loading-spring-resources</guid>
      <pubDate>Wed, 17 Dec 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Spring Framework</category>
    </item>
    <item>
      <title>Spring Security 7 Multi-Factor Authentication: Complete Tutorial with @EnableMultiFactorAuthentication</title>
      <description>Learn how to implement multi-factor authentication (MFA) in Spring Boot 4 using Spring Security 7&apos;s new @EnableMultiFactorAuthentication annotation. Step-by-step tutorial with one-time token login and custom PIN codes.</description>
      <link>https://www.danvega.dev/blog/spring-security-7-multi-factor-authentication</link>
      <guid>https://www.danvega.dev/blog/spring-security-7-multi-factor-authentication</guid>
      <pubDate>Tue, 16 Dec 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Spring Security</category>
    </item>
    <item>
      <title>Spring Boot 4 Modularization: Fix Auto-Configuration Issues After Upgrading</title>
      <description>Upgraded to Spring Boot 4 and features stopped working? Learn how the new modular auto-configuration architecture affects your migration and how to fix common issues like the H2 console not appearing.</description>
      <link>https://www.danvega.dev/blog/spring-boot-4-modularization</link>
      <guid>https://www.danvega.dev/blog/spring-boot-4-modularization</guid>
      <pubDate>Fri, 12 Dec 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Spring Boot 4</category>
      <category>Java</category>
    </item>
    <item>
      <title>MockMvcTester vs RestTestClient: Which one Should You Use in Spring Boot 4?</title>
      <description>A comparison of MockMvcTester and RestTestClient for testing Spring Boot web applications, exploring when to use each approach and their key differences.</description>
      <link>https://www.danvega.dev/blog/mock-vs-rest</link>
      <guid>https://www.danvega.dev/blog/mock-vs-rest</guid>
      <pubDate>Wed, 10 Dec 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
    </item>
    <item>
      <title>Spring JMS Client: A Complete Guide to JmsClient in Spring Boot 4</title>
      <description>Master the Spring JMS Client with this complete Spring Boot 4 JmsClient tutorial. Learn when to choose JMS over Kafka, configure message conversion, and send messages using Spring&apos;s fluent API.</description>
      <link>https://www.danvega.dev/blog/jms-client</link>
      <guid>https://www.danvega.dev/blog/jms-client</guid>
      <pubDate>Fri, 05 Dec 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Java</category>
      <category>Spring Boot</category>
      <category>JMS</category>
    </item>
    <item>
      <title>Spring Data AOT Repositories: Faster Startup and Build-Time Query Validation</title>
      <description>Learn how Spring Data AOT Repositories move query processing from runtime to compile time, reducing startup times and memory usage, plus how to validate repository methods at build time.</description>
      <link>https://www.danvega.dev/blog/spring-data-aot-repositories</link>
      <guid>https://www.danvega.dev/blog/spring-data-aot-repositories</guid>
      <pubDate>Tue, 25 Nov 2025 10:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Spring Data</category>
    </item>
    <item>
      <title>What&apos;s New in Spring Framework 7 and Spring Boot 4</title>
      <description>A comprehensive look at the new features in Spring Framework 7 and Spring Boot 4, including code examples and resources to help you get started</description>
      <link>https://www.danvega.dev/blog/spring-boot-4-is-here</link>
      <guid>https://www.danvega.dev/blog/spring-boot-4-is-here</guid>
      <pubDate>Mon, 24 Nov 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Spring</category>
      <category>Java</category>
    </item>
    <item>
      <title>Native Retry Support in Spring Boot 4: No External Dependencies Required</title>
      <description>Spring Boot 4 includes native retry support with @Retryable, RetryTemplate, and @ConcurrencyLimit. Learn how to add resilience without the spring-retry dependency.</description>
      <link>https://www.danvega.dev/blog/spring-boot-4-native-retry-support</link>
      <guid>https://www.danvega.dev/blog/spring-boot-4-native-retry-support</guid>
      <pubDate>Thu, 13 Nov 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Spring Boot 4</category>
      <category>Java</category>
    </item>
    <item>
      <title>Jackson 3 in Spring Boot 4: JsonMapper, JSON Views, and What&apos;s Changed</title>
      <description>Learn how to use Jackson 3 in Spring Boot 4 with the new JsonMapper, immutable configuration, unchecked exceptions, and JSON Views with the hint() method.</description>
      <link>https://www.danvega.dev/blog/jackson-3-spring-boot-4</link>
      <guid>https://www.danvega.dev/blog/jackson-3-spring-boot-4</guid>
      <pubDate>Mon, 10 Nov 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Spring Boot 4</category>
    </item>
    <item>
      <title>HTTP Interfaces in Spring Boot 4: Say Goodbye to Boilerplate</title>
      <description>Learn how HTTP interfaces let you define declarative HTTP clients in Spring Boot, and discover how Spring Framework 7 eliminates the configuration boilerplate with @ImportHttpServices.</description>
      <link>https://www.danvega.dev/blog/http-interfaces-spring-boot-4</link>
      <guid>https://www.danvega.dev/blog/http-interfaces-spring-boot-4</guid>
      <pubDate>Thu, 06 Nov 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Spring Boot 4</category>
      <category>Spring Framework</category>
    </item>
    <item>
      <title>Stop NullPointerExceptions Before Production with Spring Boot 4&apos;s Null Safety</title>
      <description>Discover how Spring Boot 4 and JSpecify annotations catch NullPointerExceptions at compile-time instead of runtime. Learn to implement @NullMarked and @Nullable for bulletproof Java code with practical examples.</description>
      <link>https://www.danvega.dev/blog/spring-boot-4-null-safety</link>
      <guid>https://www.danvega.dev/blog/spring-boot-4-null-safety</guid>
      <pubDate>Wed, 05 Nov 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Java</category>
      <category>Spring Boot</category>
      <category>Spring Boot 4</category>
    </item>
    <item>
      <title>Spring Boot 4&apos;s Bean Registrar: A Cleaner Way to Register Beans Programmatically</title>
      <description>Learn how Spring Boot 4&apos;s new BeanRegistrar interface simplifies programmatic bean registration in Spring Framework 7. This tutorial demonstrates dynamic bean creation based on environment properties, conditional registration with complex logic, and performance optimization techniques. Discover when to use BeanRegistrar vs @Bean annotations with practical code examples and testing strategies for your Spring applications.</description>
      <link>https://www.danvega.dev/blog/programmatic-bean-registration</link>
      <guid>https://www.danvega.dev/blog/programmatic-bean-registration</guid>
      <pubDate>Sat, 01 Nov 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Spring Boot 4</category>
      <category>Spring Framework</category>
    </item>
    <item>
      <title>Testing Spring REST APIs with RestTestClient: A Complete Guide</title>
      <description>Explore the new Rest Test Client in Spring Framework 7, a modern replacement for RestTemplate that provides a fluent API for testing REST APIs with improved type safety and better integration with modern testing practices.</description>
      <link>https://www.danvega.dev/blog/spring-framework-7-rest-test-client</link>
      <guid>https://www.danvega.dev/blog/spring-framework-7-rest-test-client</guid>
      <pubDate>Thu, 30 Oct 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Framework</category>
      <category>Spring Boot</category>
      <category>Testing</category>
    </item>
    <item>
      <title>Building MCP Clients with Spring AI: Augmenting LLMs with Custom Context</title>
      <description>Learn how to build MCP (Model Context Protocol) clients using Spring AI to augment Large Language Models with custom context and functionality for your applications.</description>
      <link>https://www.danvega.dev/blog/spring-ai-mcp-client</link>
      <guid>https://www.danvega.dev/blog/spring-ai-mcp-client</guid>
      <pubDate>Tue, 28 Oct 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring AI</category>
    </item>
    <item>
      <title>Evolving your API without Versioning in GraphQL</title>
      <description>Explore modern approaches to API versioning in GraphQL, including schema evolution strategies, deprecation patterns, and best practices for maintaining backward compatibility while evolving your API.</description>
      <link>https://www.danvega.dev/blog/api-versioning-with-graphql</link>
      <guid>https://www.danvega.dev/blog/api-versioning-with-graphql</guid>
      <pubDate>Tue, 30 Sep 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>GraphQL</category>
    </item>
    <item>
      <title>First-Class API Versioning in Spring Boot 4</title>
      <description>Learn how to implement API versioning strategies in Spring Boot 4 applications, including best practices for managing backwards compatibility and evolution of your REST APIs.</description>
      <link>https://www.danvega.dev/blog/spring-boot-4-api-versioning</link>
      <guid>https://www.danvega.dev/blog/spring-boot-4-api-versioning</guid>
      <pubDate>Thu, 25 Sep 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Spring Boot 4</category>
      <category>Spring Framework</category>
    </item>
    <item>
      <title>My CYC 2025 Demo: Why Building MCP Servers in Java Just Got Ridiculously Simple</title>
      <description>Learn how Spring AI 1.1.0-M2 makes building MCP servers in Java incredibly simple with just annotations. No callbacks, no complex setup. Includes complete code from my Commit Your Code 2025 conference demo, showing how to expose your Java application&apos;s data to Claude and other AI assistants.</description>
      <link>https://www.danvega.dev/blog/cyc-mcp-server-spring-ai</link>
      <guid>https://www.danvega.dev/blog/cyc-mcp-server-spring-ai</guid>
      <pubDate>Wed, 24 Sep 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring</category>
      <category>Spring AI</category>
      <category>AI</category>
      <category>MCP</category>
      <category>Java</category>
    </item>
    <item>
      <title>Spring Boot 3.x Features: Complete Guide to Major Updates (2022-2025)</title>
      <description>Explore the transformative features introduced in Spring Boot 3.0 through 3.5, from Java 17 requirements and GraalVM native images to virtual threads and enhanced observability. This comprehensive guide covers each release&apos;s major improvements, including Docker Compose integration, Testcontainers support, structured logging, and SSL certificate management. Learn how Spring Boot 3.x revolutionized Java application development with practical code examples and migration tips for upgrading from 2.x to 3.x.</description>
      <link>https://www.danvega.dev/blog/spring-boot-3-features</link>
      <guid>https://www.danvega.dev/blog/spring-boot-3-features</guid>
      <pubDate>Wed, 17 Sep 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Java</category>
      <category>Spring Framework</category>
    </item>
    <item>
      <title>JDK 24&apos;s Major Improvement: Virtual Threads Without Pinning</title>
      <description>Discover JDK 24&apos;s breakthrough enhancement that eliminates virtual thread pinning with synchronized blocks and methods. This comprehensive guide explores how this change revolutionizes Java concurrency, dramatically improving scalability for Spring Boot applications with legacy synchronized code. You&apos;ll learn about the technical details of thread pinning, see practical performance comparisons, and get hands-on examples showing how to leverage this feature in real-world applications for maximum throughput and efficiency.</description>
      <link>https://www.danvega.dev/blog/jdk-24-virtual-threads-without-pinning</link>
      <guid>https://www.danvega.dev/blog/jdk-24-virtual-threads-without-pinning</guid>
      <pubDate>Wed, 09 Apr 2025 17:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Java</category>
      <category>Spring</category>
    </item>
    <item>
      <title>Running AI Models Locally with Docker and Spring AI</title>
      <description>Master Docker Desktop&apos;s revolutionary Model Runner feature and discover how to build privacy-first AI applications with Spring Boot. This complete tutorial shows you how to run powerful open-source AI models like Gemma locally on your machine, eliminating API costs, protecting sensitive data, and simplifying development workflows. You&apos;ll get step-by-step instructions for setting up local AI models, integrating with Spring AI, and building production-ready applications that respect privacy while delivering exceptional AI capabilities without monthly subscription fees.</description>
      <link>https://www.danvega.dev/blog/docker-model-runner</link>
      <guid>https://www.danvega.dev/blog/docker-model-runner</guid>
      <pubDate>Mon, 07 Apr 2025 17:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring AI</category>
    </item>
    <item>
      <title>Creating Your First Model Context Protocol (MCP) Server in Java</title>
      <description>Build powerful AI integrations by creating your own Model Context Protocol (MCP) server using Spring Boot and Spring AI. This comprehensive guide walks you through implementing a custom MCP server from scratch, enabling AI models like Claude to access your private data sources, execute specialized business logic, and interact with your custom services. You&apos;ll learn the MCP architecture, implement tool functions, handle data retrieval, and deploy a production-ready server that seamlessly extends AI capabilities with your organization&apos;s unique data and workflows.</description>
      <link>https://www.danvega.dev/blog/creating-your-first-mcp-server-java</link>
      <guid>https://www.danvega.dev/blog/creating-your-first-mcp-server-java</guid>
      <pubDate>Wed, 26 Mar 2025 17:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Java</category>
      <category>Spring</category>
      <category>MCP</category>
    </item>
    <item>
      <title>Stream Gatherers in JDK 24: Building Custom Intermediate Operations for the Stream API</title>
      <description>Discover how the new Stream Gatherers feature in JDK 24 provides a more elegant solution for processing blog content compared to traditional stream operations.</description>
      <link>https://www.danvega.dev/blog/stream-gatherers</link>
      <guid>https://www.danvega.dev/blog/stream-gatherers</guid>
      <pubDate>Fri, 21 Mar 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Java</category>
    </item>
    <item>
      <title>Supercharge Your LLM Applications with Model Context Protocol (MCP)</title>
      <description>Learn how Model Context Protocol (MCP) enables LLMs to access external data sources and tools, with practical implementation guides for getting started today.</description>
      <link>https://www.danvega.dev/blog/model-context-protocol-introduction</link>
      <guid>https://www.danvega.dev/blog/model-context-protocol-introduction</guid>
      <pubDate>Tue, 11 Mar 2025 17:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring AI</category>
      <category>MCP</category>
    </item>
    <item>
      <title>AI-Powered Dev Hacks at ConFoo 2025</title>
      <description>Recently, I had the pleasure of presenting on a topic that I&apos;m pretty passionate about: how artificial intelligence can amplify developer productivity and creativity.</description>
      <link>https://www.danvega.dev/blog/ai-powered-dev-hacks-confoo-2025</link>
      <guid>https://www.danvega.dev/blog/ai-powered-dev-hacks-confoo-2025</guid>
      <pubDate>Thu, 27 Feb 2025 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>AI</category>
    </item>
    <item>
      <title>Building Dynamic GraphQL APIs with Spring Boot and Query by Example</title>
      <description>Learn how to build flexible and maintainable GraphQL APIs using Spring Boot&apos;s Query by Example support, reducing boilerplate code while enabling powerful search capabilities.</description>
      <link>https://www.danvega.dev/blog/spring-boot-graphql-query-by-example</link>
      <guid>https://www.danvega.dev/blog/spring-boot-graphql-query-by-example</guid>
      <pubDate>Mon, 02 Dec 2024 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>GraphQL</category>
      <category>Spring Boot</category>
    </item>
    <item>
      <title>Modern Java: Why You Might Not Need Lombok Anymore</title>
      <description>A detailed exploration of why Java developers should reconsider using Project Lombok, examining its drawbacks and modern alternatives in Java development.</description>
      <link>https://www.danvega.dev/blog/no-lombok</link>
      <guid>https://www.danvega.dev/blog/no-lombok</guid>
      <pubDate>Mon, 11 Nov 2024 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Java</category>
    </item>
    <item>
      <title>Query By Example in Spring Data JPA: A Clean Approach to Dynamic Queries</title>
      <description>Learn how to simplify your Spring Data JPA queries using Query By Example (QBE) and create dynamic, type-safe queries without the boilerplate code.</description>
      <link>https://www.danvega.dev/blog/spring-data-jpa-query-by-example</link>
      <guid>https://www.danvega.dev/blog/spring-data-jpa-query-by-example</guid>
      <pubDate>Fri, 08 Nov 2024 17:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Spring Data</category>
    </item>
    <item>
      <title>RestClient OAuth2 Support in Spring Security 6.4: A Complete Guide</title>
      <description>Learn how to implement OAuth2 authentication in your Spring applications using the new RestClient OAuth2 support in Spring Security 6.4. This guide covers architecture, implementation, and best practices for secure service-to-service communication.</description>
      <link>https://www.danvega.dev/blog/rest-client-oauth2-support</link>
      <guid>https://www.danvega.dev/blog/rest-client-oauth2-support</guid>
      <pubDate>Tue, 05 Nov 2024 17:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Spring Security</category>
    </item>
    <item>
      <title>Understanding Tokens in Large Language Models with Spring AI</title>
      <description>Learn how to track and manage token usage in Spring AI applications, including implementing custom response types and automated logging with AOP.</description>
      <link>https://www.danvega.dev/blog/spring-ai-tokens</link>
      <guid>https://www.danvega.dev/blog/spring-ai-tokens</guid>
      <pubDate>Fri, 01 Nov 2024 17:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring AI</category>
    </item>
    <item>
      <title>Implementing Request/Response Logging with Spring Boot&apos;s Rest Client</title>
      <description>Learn how to implement clean and efficient request/response logging for Spring Boot&apos;s Rest Client, including both inline and interceptor-based approaches.</description>
      <link>https://www.danvega.dev/blog/spring-boot-rest-client-logging</link>
      <guid>https://www.danvega.dev/blog/spring-boot-rest-client-logging</guid>
      <pubDate>Thu, 31 Oct 2024 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Rest Client</category>
    </item>
    <item>
      <title>Using Environment Variables in Spring Boot</title>
      <description>Learn how to effectively manage configuration and secure sensitive data using environment variables in Spring Boot applications. This comprehensive guide covers best practices, security considerations, and practical examples.</description>
      <link>https://www.danvega.dev/blog/spring-boot-environment-variables</link>
      <guid>https://www.danvega.dev/blog/spring-boot-environment-variables</guid>
      <pubDate>Tue, 29 Oct 2024 17:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
    </item>
    <item>
      <title>Building a Spring Security Login Form with JTE</title>
      <description>Learn how to create a secure login form using Spring Security and JTE (Java Template Engine) with support for both traditional authentication and OAuth2 providers.</description>
      <link>https://www.danvega.dev/blog/spring-boot-oauth-demo</link>
      <guid>https://www.danvega.dev/blog/spring-boot-oauth-demo</guid>
      <pubDate>Thu, 24 Oct 2024 17:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Spring Security</category>
    </item>
    <item>
      <title>Getting Started with Spring AI and RAG: A Practical Guide</title>
      <description>Learn how to build intelligent applications using Retrieval Augmented Generation (RAG) with Spring AI. This practical guide covers everything from understanding tokens and context windows to implementing a full RAG solution.</description>
      <link>https://www.danvega.dev/blog/getting-started-with-spring-ai-rag</link>
      <guid>https://www.danvega.dev/blog/getting-started-with-spring-ai-rag</guid>
      <pubDate>Tue, 22 Oct 2024 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>spring</category>
      <category>spring-ai</category>
      <category>java</category>
    </item>
    <item>
      <title>Building Generative AI Applications in Java: From Simple Scripts to Spring Boot</title>
      <description>Explore how Java developers can leverage generative AI, from basic curl commands to robust Spring Boot applications. Learn to integrate OpenAI&apos;s GPT models, use Java&apos;s HTTP client, and harness the power of Spring AI for structured output and simplified AI integration.</description>
      <link>https://www.danvega.dev/blog/ai-java-developers</link>
      <guid>https://www.danvega.dev/blog/ai-java-developers</guid>
      <pubDate>Tue, 15 Oct 2024 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Java</category>
      <category>Spring Boot</category>
      <category>AI</category>
    </item>
    <item>
      <title>Calling Multiple LLMs with Spring AI: A Practical Guide</title>
      <description>Learn how to integrate and call multiple Large Language Models (LLMs) like OpenAI&apos;s GPT-4 and Anthropic&apos;s Claude in a single Spring Boot application using Spring AI. This tutorial covers project setup, configuration, and implementation of separate controllers for each LLM.</description>
      <link>https://www.danvega.dev/blog/spring-ai-multiple-llms</link>
      <guid>https://www.danvega.dev/blog/spring-ai-multiple-llms</guid>
      <pubDate>Mon, 14 Oct 2024 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Java</category>
      <category>Spring AI</category>
    </item>
    <item>
      <title>Building Intelligent Chatbots with Spring AI: Implementing Chat Memory</title>
      <description>Learn how to create a context-aware chatbot using Spring AI and OpenAI. This tutorial covers implementing chat memory, handling token usage, and managing context window limitations for more engaging AI conversations.</description>
      <link>https://www.danvega.dev/blog/spring-ai-chat-memory</link>
      <guid>https://www.danvega.dev/blog/spring-ai-chat-memory</guid>
      <pubDate>Fri, 11 Oct 2024 09:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Java</category>
      <category>Spring AI~~</category>
    </item>
    <item>
      <title>Building a Streaming Chat Bot with Spring Boot and Spring AI</title>
      <description>Learn how to create a responsive and engaging chat bot using Spring Boot and Spring AI, featuring both traditional and streaming response capabilities for an enhanced user experience.</description>
      <link>https://www.danvega.dev/blog/spring-ai-streaming-chatbot</link>
      <guid>https://www.danvega.dev/blog/spring-ai-streaming-chatbot</guid>
      <pubDate>Tue, 08 Oct 2024 20:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Java</category>
      <category>Spring AI</category>
    </item>
    <item>
      <title>Building Dynamic Forms with Spring Boot and JTE: A Practical Guide</title>
      <description>Learn how to create interactive web forms using Spring Boot and Java Template Engine (JTE) in this comprehensive tutorial.</description>
      <link>https://www.danvega.dev/blog/jte-forms</link>
      <guid>https://www.danvega.dev/blog/jte-forms</guid>
      <pubDate>Mon, 07 Oct 2024 20:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Java</category>
    </item>
    <item>
      <title>Building a Dynamic Task Manager with Spring Boot, JTE, and HTMX</title>
      <description>Learn how to build a dynamic Task manager using Spring Boot, Java Template Engine (JTE), HTMX and Tailwind CSS.</description>
      <link>https://www.danvega.dev/blog/spring-boot-jte-htmx</link>
      <guid>https://www.danvega.dev/blog/spring-boot-jte-htmx</guid>
      <pubDate>Sun, 06 Oct 2024 20:00:00 GMT</pubDate>
      <author>Dan Vega</author>
      <category>Spring Boot</category>
      <category>Java</category>
    </item>
  </channel>
</rss>