| CARVIEW |
Select Language
HTTP/2 200
date: Fri, 26 Dec 2025 06:52:07 GMT
content-type: application/vnd.initializr.v2.1+json
content-length: 73862
cf-ray: 9b3ea7537bddad8b-BLR
etag: "36bb8bd018f353bdb211bf8ef0b9526c"
vary: Accept
cache-control: max-age=7200
strict-transport-security: max-age=15552000; includeSubDomains
cf-cache-status: DYNAMIC
set-cookie: __cf_bm=UPVX1bFO_lhC_.aGeOvfAkszeDL56HqdizTHu9ExOeU-1766731927-1.0.1.1-l4QKZtGb9BiMA._ev5C1n7iW6DLUVOogEmuXF1GtxLREijZIbFtkmr1MT9DZW.xROA_Mkc6HaOYYAr3.5JI2AhlmhYOrRNSR1iwN1f9quUU; path=/; expires=Fri, 26-Dec-25 07:22:07 GMT; domain=.spring.io; HttpOnly; Secure; SameSite=None
server: cloudflare
alt-svc: h3=":443"; ma=86400
{"_links":{"gradle-project":{"href":"https://start.spring.io/starter.zip?type=gradle-project{&dependencies,packaging,javaVersion,language,bootVersion,groupId,artifactId,version,name,description,packageName}","templated":true},"gradle-project-kotlin":{"href":"https://start.spring.io/starter.zip?type=gradle-project-kotlin{&dependencies,packaging,javaVersion,language,bootVersion,groupId,artifactId,version,name,description,packageName}","templated":true},"gradle-build":{"href":"https://start.spring.io/build.gradle?type=gradle-build{&dependencies,packaging,javaVersion,language,bootVersion,groupId,artifactId,version,name,description,packageName}","templated":true},"maven-project":{"href":"https://start.spring.io/starter.zip?type=maven-project{&dependencies,packaging,javaVersion,language,bootVersion,groupId,artifactId,version,name,description,packageName}","templated":true},"maven-build":{"href":"https://start.spring.io/pom.xml?type=maven-build{&dependencies,packaging,javaVersion,language,bootVersion,groupId,artifactId,version,name,description,packageName}","templated":true},"dependencies":{"href":"https://start.spring.io/dependencies{?bootVersion}","templated":true}},"dependencies":{"type":"hierarchical-multi-select","values":[{"name":"Developer Tools","values":[{"id":"native","name":"GraalVM Native Support","description":"Support for compiling Spring applications to native executables using the GraalVM native-image compiler."},{"id":"dgs-codegen","name":"GraphQL DGS Code Generation","description":"Generate data types and type-safe APIs for querying GraphQL APIs by parsing schema files."},{"id":"devtools","name":"Spring Boot DevTools","description":"Provides fast application restarts, LiveReload, and configurations for enhanced development experience.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/using/devtools.html","templated":true}}},{"id":"lombok","name":"Lombok","description":"Java annotation library which helps to reduce boilerplate code."},{"id":"configuration-processor","name":"Spring Configuration Processor","description":"Generate metadata for developers to offer contextual help and \"code completion\" when working with custom configuration keys (ex.application.properties/.yml files).","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/specification/configuration-metadata/annotation-processor.html","templated":true}}},{"id":"docker-compose","name":"Docker Compose Support","description":"Provides docker compose support for enhanced development experience.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/features/dev-services.html#features.dev-services.docker-compose","templated":true}}},{"id":"modulith","name":"Spring Modulith","description":"Support for building modular monolithic applications.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.spring.io/spring-modulith/reference/"}}}]},{"name":"Web","values":[{"id":"web","name":"Spring Web","description":"Build web, including RESTful, applications using Spring MVC. Uses Apache Tomcat as the default embedded container.","_links":{"guide":[{"href":"https://spring.io/guides/gs/rest-service/","title":"Building a RESTful Web Service"},{"href":"https://spring.io/guides/gs/serving-web-content/","title":"Serving Web Content with Spring MVC"},{"href":"https://spring.io/guides/tutorials/rest/","title":"Building REST services with Spring"}],"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/web/servlet.html","templated":true}}},{"id":"webflux","name":"Spring Reactive Web","description":"Build reactive web applications with Spring WebFlux and Netty.","_links":{"guide":{"href":"https://spring.io/guides/gs/reactive-rest-service/","title":"Building a Reactive RESTful Web Service"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/web/reactive.html","templated":true}}},{"id":"spring-restclient","name":"HTTP Client","description":"Spring Boot integration for RestClient and RestTemplate to make HTTP requests.","versionRange":"4.0.0.RELEASE","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/io/rest-client.html#io.rest-client.restclient","templated":true}}},{"id":"spring-webclient","name":"Reactive HTTP Client","description":"Spring Boot integration for WebClient to make reactive HTTP requests.","versionRange":"4.0.0.RELEASE","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/io/rest-client.html#io.rest-client.webclient","templated":true}}},{"id":"graphql","name":"Spring for GraphQL","description":"Build GraphQL applications with Spring for GraphQL and GraphQL Java.","_links":{"guide":{"href":"https://spring.io/guides/gs/graphql-server/","title":"Building a GraphQL service"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/web/spring-graphql.html","templated":true}}},{"id":"data-rest","name":"Rest Repositories","description":"Exposing Spring Data repositories over REST via Spring Data REST.","_links":{"guide":[{"href":"https://spring.io/guides/gs/accessing-data-rest/","title":"Accessing JPA Data with REST"},{"href":"https://spring.io/guides/gs/accessing-neo4j-data-rest/","title":"Accessing Neo4j Data with REST"},{"href":"https://spring.io/guides/gs/accessing-mongodb-data-rest/","title":"Accessing MongoDB Data with REST"}],"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/how-to/data-access.html#howto.data-access.exposing-spring-data-repositories-as-rest","templated":true}}},{"id":"session-data-mongodb","name":"Spring Session for Spring Data MongoDB","description":"Provides an API and a Spring Data MongoDB implementation for managing user session information.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-session/reference/"}}},{"id":"session-data-redis","name":"Spring Session for Spring Data Redis","description":"Provides an API and a Spring Data Redis implementation for managing user session information.","_links":{"reference":{"href":"https://docs.spring.io/spring-session/reference/"}}},{"id":"session-hazelcast","name":"Spring Session for Hazelcast","description":"Provides an API and a Hazelcast implementation for managing user session information.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-session/reference/"}}},{"id":"session-jdbc","name":"Spring Session for JDBC","description":"Provides an API and a JDBC implementation for managing user session information.","_links":{"reference":{"href":"https://docs.spring.io/spring-session/reference/"}}},{"id":"data-rest-explorer","name":"Rest Repositories HAL Explorer","description":"Browsing Spring Data REST repositories in your browser."},{"id":"hateoas","name":"Spring HATEOAS","description":"Eases the creation of RESTful APIs that follow the HATEOAS principle when working with Spring / Spring MVC.","_links":{"guide":{"href":"https://spring.io/guides/gs/rest-hateoas/","title":"Building a Hypermedia-Driven RESTful Web Service"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/web/spring-hateoas.html","templated":true}}},{"id":"web-services","name":"Spring Web Services","description":"Facilitates contract-first SOAP development using Spring WS. Allows for the creation of flexible web services using one of the many ways to manipulate XML payloads.","_links":{"guide":{"href":"https://spring.io/guides/gs/producing-web-service/","title":"Producing a SOAP web service"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/io/webservices.html","templated":true}}},{"id":"jersey","name":"Jersey","description":"Framework for developing RESTful Web Services in Java that provides support for JAX-RS APIs.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/web/servlet.html#web.servlet.jersey","templated":true}}},{"id":"vaadin","name":"Vaadin","description":"The full-stack web app platform for Spring. Build views fully in Java with Flow, or in React using Hilla.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"guide":{"href":"https://spring.io/guides/gs/crud-with-vaadin/","title":"Creating CRUD UI with Vaadin"},"reference":{"href":"https://vaadin.com/docs"}}},{"id":"netflix-dgs","name":"Netflix DGS","description":"Build GraphQL applications with Netflix DGS and Spring for GraphQL.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://netflix.github.io/dgs/"}}},{"id":"htmx","name":"htmx","description":"Build modern user interfaces with the simplicity and power of hypertext.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://github.com/wimdeblauwe/htmx-spring-boot"},"guide":{"href":"https://www.youtube.com/watch?v=j-rfPoXe5aE"}}}]},{"name":"Template Engines","values":[{"id":"thymeleaf","name":"Thymeleaf","description":"A modern server-side Java template engine for both web and standalone environments. Allows HTML to be correctly displayed in browsers and as static prototypes.","_links":{"guide":{"href":"https://spring.io/guides/gs/handling-form-submission/","title":"Handling Form Submission"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/web/servlet.html#web.servlet.spring-mvc.template-engines","templated":true}}},{"id":"freemarker","name":"Apache Freemarker","description":"Java library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/web/servlet.html#web.servlet.spring-mvc.template-engines","templated":true}}},{"id":"mustache","name":"Mustache","description":"Logic-less templates for both web and standalone environments. There are no if statements, else clauses, or for loops. Instead there are only tags.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/web/servlet.html#web.servlet.spring-mvc.template-engines","templated":true}}},{"id":"groovy-templates","name":"Groovy Templates","description":"Groovy templating engine.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/web/servlet.html#web.servlet.spring-mvc.template-engines","templated":true}}},{"id":"jte","name":"JTE","description":"Secure and lightweight template engine for Java and Kotlin.","_links":{"reference":{"href":"https://jte.gg/"}}}]},{"name":"Security","values":[{"id":"security","name":"Spring Security","description":"Highly customizable authentication and access-control framework for Spring applications.","_links":{"guide":[{"href":"https://spring.io/guides/gs/securing-web/","title":"Securing a Web Application"},{"href":"https://spring.io/guides/tutorials/spring-boot-oauth2/","title":"Spring Boot and OAuth2"},{"href":"https://spring.io/guides/gs/authenticating-ldap/","title":"Authenticating a User with LDAP"}],"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/web/spring-security.html","templated":true}}},{"id":"oauth2-client","name":"OAuth2 Client","description":"Spring Boot integration for Spring Security's OAuth2/OpenID Connect client features.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/web/spring-security.html#web.security.oauth2.client","templated":true}}},{"id":"oauth2-authorization-server","name":"OAuth2 Authorization Server","description":"Spring Boot integration for Spring Authorization Server.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/web/spring-security.html#web.security.oauth2.authorization-server","templated":true}}},{"id":"oauth2-resource-server","name":"OAuth2 Resource Server","description":"Spring Boot integration for Spring Security's OAuth2 resource server features.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/web/spring-security.html#web.security.oauth2.server","templated":true}}},{"id":"spring-security-webauthn","name":"WebAuthn for Spring Security","description":"Support for WebAuthn in Spring Security.","versionRange":"4.0.0.RELEASE","_links":{"reference":{"href":"https://docs.spring.io/spring-security/reference/servlet/authentication/passkeys.html"}}},{"id":"ldap","name":"LDAP","description":"LDAP is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an IP network.","versionRange":"4.0.0.RELEASE","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/nosql.html#data.nosql.ldap","templated":true}}},{"id":"data-ldap","name":"Spring Data LDAP","description":"Spring Data support for LDAP.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/nosql.html#data.nosql.ldap","templated":true}}}]},{"name":"SQL","values":[{"id":"jdbc","name":"JDBC API","description":"Database Connectivity API that defines how a client may connect and query a database.","_links":{"guide":[{"href":"https://spring.io/guides/gs/relational-data-access/","title":"Accessing Relational Data using JDBC with Spring"},{"href":"https://spring.io/guides/gs/managing-transactions/","title":"Managing Transactions"}],"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/sql.html","templated":true}}},{"id":"r2dbc","name":"R2DBC API","description":"Reactive Database Connectivity API that defines how a client may connect and query a database.","versionRange":"4.0.0.RELEASE","_links":{"home":{"href":"https://r2dbc.io","title":"R2DBC Homepage"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/sql.html#data.sql.r2dbc","templated":true}}},{"id":"data-jpa","name":"Spring Data JPA","description":"Persist data in SQL stores with Java Persistence API using Spring Data and Hibernate.","_links":{"guide":{"href":"https://spring.io/guides/gs/accessing-data-jpa/","title":"Accessing Data with JPA"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/sql.html#data.sql.jpa-and-spring-data","templated":true}}},{"id":"data-jdbc","name":"Spring Data JDBC","description":"Persist data in SQL stores with plain JDBC using Spring Data.","_links":{"guide":{"href":"https://github.com/spring-projects/spring-data-examples/tree/main/jdbc/basics","title":"Using Spring Data JDBC"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/sql.html#data.sql.jdbc","templated":true}}},{"id":"data-r2dbc","name":"Spring Data R2DBC","description":"Provides Reactive Relational Database Connectivity to persist data in SQL stores using Spring Data in reactive applications.","_links":{"guide":{"href":"https://spring.io/guides/gs/accessing-data-r2dbc/","title":"Accessing data with R2DBC"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/sql.html#data.sql.r2dbc","templated":true},"home":{"href":"https://r2dbc.io","title":"R2DBC Homepage"}}},{"id":"mybatis","name":"MyBatis Framework","description":"Persistence framework with support for custom SQL, stored procedures and advanced mappings. MyBatis couples objects with stored procedures or SQL statements using a XML descriptor or annotations.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"guide":{"href":"https://github.com/mybatis/spring-boot-starter/wiki/Quick-Start","title":"MyBatis Quick Start"},"reference":{"href":"https://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/"}}},{"id":"liquibase","name":"Liquibase Migration","description":"Liquibase database migration and source control library.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/how-to/data-initialization.html#howto.data-initialization.migration-tool.liquibase","templated":true}}},{"id":"flyway","name":"Flyway Migration","description":"Version control for your database so you can migrate from any version (incl. an empty database) to the latest version of the schema.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/how-to/data-initialization.html#howto.data-initialization.migration-tool.flyway","templated":true}}},{"id":"jooq","name":"JOOQ Access Layer","description":"Generate Java code from your database and build type safe SQL queries through a fluent API.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/sql.html#data.sql.jooq","templated":true}}},{"id":"db2","name":"IBM DB2 Driver","description":"A JDBC driver that provides access to IBM DB2."},{"id":"derby","name":"Apache Derby Database","description":"An open source relational database implemented entirely in Java."},{"id":"h2","name":"H2 Database","description":"Provides a fast in-memory database that supports JDBC API and R2DBC access, with a small (2mb) footprint. Supports embedded and server modes as well as a browser based console application."},{"id":"hsql","name":"HyperSQL Database","description":"Lightweight 100% Java SQL Database Engine."},{"id":"mariadb","name":"MariaDB Driver","description":"MariaDB JDBC and R2DBC driver."},{"id":"sqlserver","name":"MS SQL Server Driver","description":"A JDBC and R2DBC driver that provides access to Microsoft SQL Server and Azure SQL Database from any Java application."},{"id":"mysql","name":"MySQL Driver","description":"MySQL JDBC driver.","_links":{"guide":{"href":"https://spring.io/guides/gs/accessing-data-mysql/","title":"Accessing data with MySQL"}}},{"id":"oracle","name":"Oracle Driver","description":"A JDBC driver that provides access to Oracle."},{"id":"postgresql","name":"PostgreSQL Driver","description":"A JDBC and R2DBC driver that allows Java programs to connect to a PostgreSQL database using standard, database independent Java code."}]},{"name":"NoSQL","values":[{"id":"data-redis","name":"Spring Data Redis (Access+Driver)","description":"Advanced and thread-safe Java Redis client for synchronous, asynchronous, and reactive usage. Supports Cluster, Sentinel, Pipelining, Auto-Reconnect, Codecs and much more.","_links":{"guide":{"href":"https://spring.io/guides/gs/messaging-redis/","title":"Messaging with Redis"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/nosql.html#data.nosql.redis","templated":true}}},{"id":"data-redis-reactive","name":"Spring Data Reactive Redis","description":"Access Redis key-value data stores in a reactive fashion with Spring Data Redis.","_links":{"guide":{"href":"https://spring.io/guides/gs/messaging-redis/","title":"Messaging with Redis"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/nosql.html#data.nosql.redis","templated":true}}},{"id":"mongodb","name":"MongoDB","description":"MongoDB is an open-source NoSQL document database that uses a JSON-like schema instead of traditional table-based relational data.","versionRange":"4.0.0.RELEASE","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/nosql.html#data.nosql.mongodb","templated":true}}},{"id":"data-mongodb","name":"Spring Data MongoDB","description":"Spring Data support for MongoDB.","_links":{"guide":{"href":"https://spring.io/guides/gs/accessing-data-mongodb/","title":"Accessing Data with MongoDB"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/nosql.html#data.nosql.mongodb","templated":true}}},{"id":"data-mongodb-reactive","name":"Spring Data Reactive MongoDB","description":"Reactive Spring Data support for MongoDB.","_links":{"guide":{"href":"https://spring.io/guides/gs/accessing-data-mongodb/","title":"Accessing Data with MongoDB"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/nosql.html#data.nosql.mongodb","templated":true}}},{"id":"elasticsearch","name":"Elasticsearch","description":"Elasticsearch is an open source, distributed, RESTful search and analytics engine.","versionRange":"4.0.0.RELEASE","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/nosql.html#data.nosql.elasticsearch","templated":true}}},{"id":"data-elasticsearch","name":"Spring Data Elasticsearch","description":"Spring Data support for Elasticsearch.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/nosql.html#data.nosql.elasticsearch","templated":true}}},{"id":"cassandra","name":"Cassandra","description":"Cassandra is an open source, distributed database management system designed to handle large amounts of data across many commodity servers.","versionRange":"4.0.0.RELEASE","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/nosql.html#data.nosql.cassandra","templated":true}}},{"id":"data-cassandra","name":"Spring Data for Apache Cassandra","description":"Spring Data support for Cassandra.","_links":{"guide":{"href":"https://spring.io/guides/gs/accessing-data-cassandra/"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/nosql.html#data.nosql.cassandra","templated":true}}},{"id":"data-cassandra-reactive","name":"Spring Data Reactive for Apache Cassandra","description":"Reactive Spring Data support for Cassandra.","_links":{"guide":{"href":"https://spring.io/guides/gs/accessing-data-cassandra/"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/nosql.html#data.nosql.cassandra","templated":true}}},{"id":"couchbase","name":"Couchbase","description":"Couchbase is an open-source, distributed, multi-model NoSQL document-oriented database that is optimized for interactive applications.","versionRange":"4.0.0.RELEASE","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/nosql.html#data.nosql.couchbase","templated":true}}},{"id":"data-couchbase","name":"Spring Data Couchbase","description":"Spring Data support for Couchbase.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/nosql.html#data.nosql.couchbase","templated":true}}},{"id":"data-couchbase-reactive","name":"Spring Data Reactive Couchbase","description":"Reactive Spring Data support for Couchbase.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/nosql.html#data.nosql.couchbase","templated":true}}},{"id":"neo4j","name":"Neo4j","description":"Neo4j is an open-source NoSQL graph database that uses a rich data model of nodes connected by first class relationships, which is better suited for connected big data than traditional RDBMS approaches.","versionRange":"4.0.0.RELEASE","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/nosql.html#data.nosql.neo4j","templated":true}}},{"id":"data-neo4j","name":"Spring Data Neo4j","description":"Spring Data support for Neo4j.","_links":{"guide":{"href":"https://spring.io/guides/gs/accessing-data-neo4j/","title":"Accessing Data with Neo4j"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/nosql.html#data.nosql.neo4j","templated":true}}}]},{"name":"Messaging","values":[{"id":"integration","name":"Spring Integration","description":"Adds support for Enterprise Integration Patterns. Enables lightweight messaging and supports integration with external systems via declarative adapters.","_links":{"guide":{"href":"https://spring.io/guides/gs/integration/","title":"Integrating Data"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/messaging/spring-integration.html","templated":true}}},{"id":"amqp","name":"Spring for RabbitMQ","description":"Gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.","_links":{"guide":{"href":"https://spring.io/guides/gs/messaging-rabbitmq/","title":"Messaging with RabbitMQ"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/messaging/amqp.html","templated":true}}},{"id":"amqp-streams","name":"Spring for RabbitMQ Streams","description":"Building stream processing applications with RabbitMQ.","_links":{"reference":{"href":"https://docs.spring.io/spring-amqp/reference/stream.html"}}},{"id":"kafka","name":"Spring for Apache Kafka","description":"Publish, subscribe, store, and process streams of records.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/messaging/kafka.html","templated":true}}},{"id":"kafka-streams","name":"Spring for Apache Kafka Streams","description":"Building stream processing applications with Apache Kafka Streams.","_links":{"guide":{"href":"https://github.com/spring-cloud/spring-cloud-stream-samples/tree/main/kafka-streams-samples","title":"Samples for using Apache Kafka Streams with Spring Cloud stream"},"reference":[{"href":"https://docs.spring.io/spring-kafka/reference/streams.html","title":"Apache Kafka Streams Support"},{"href":"https://docs.spring.io/spring-cloud-stream/reference/kafka/kafka-streams-binder/usage.html","title":"Apache Kafka Streams Binding Capabilities of Spring Cloud Stream"}]}},{"id":"activemq","name":"Spring for Apache ActiveMQ 5","description":"Spring JMS support with Apache ActiveMQ 'Classic'.","_links":{"guide":{"href":"https://spring.io/guides/gs/messaging-jms/","title":"Java Message Service API via Apache ActiveMQ Classic."},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/messaging/jms.html#messaging.jms.activemq","templated":true}}},{"id":"artemis","name":"Spring for Apache ActiveMQ Artemis","description":"Spring JMS support with Apache ActiveMQ Artemis.","_links":{"guide":{"href":"https://spring.io/guides/gs/messaging-jms/","title":"Messaging with JMS"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/messaging/jms.html#messaging.jms.artemis","templated":true}}},{"id":"pulsar","name":"Spring for Apache Pulsar","description":"Build messaging applications with Apache Pulsar","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/messaging/pulsar.html","templated":true}}},{"id":"pulsar-reactive","name":"Spring for Apache Pulsar (Reactive)","description":"Build reactive messaging applications with Apache Pulsar","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/messaging/pulsar.html","templated":true}}},{"id":"websocket","name":"WebSocket","description":"Build Servlet-based WebSocket applications with SockJS and STOMP.","_links":{"guide":{"href":"https://spring.io/guides/gs/messaging-stomp-websocket/","title":"Using WebSocket to build an interactive web application"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/messaging/websockets.html","templated":true}}},{"id":"rsocket","name":"RSocket","description":"RSocket.io applications with Spring Messaging and Netty.","_links":{"reference":{"href":"https://rsocket.io/"}}},{"id":"camel","name":"Apache Camel","description":"Apache Camel is an open source integration framework that empowers you to quickly and easily integrate various systems consuming or producing data.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"guide":{"href":"https://camel.apache.org/camel-spring-boot/latest/spring-boot.html","title":"Using Apache Camel with Spring Boot"}}},{"id":"solace","name":"Solace PubSub+","description":"Connect to a Solace PubSub+ Advanced Event Broker to publish, subscribe, request/reply and store/replay messages","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":[{"href":"https://www.solace.dev/start-spring-io-help/","title":"Getting started with Solace and Spring"},{"href":"https://solace.dev","title":"Solace Developer Portal"}]}}]},{"name":"I/O","values":[{"id":"batch","name":"Spring Batch","description":"Batch applications with transactions, retry/skip and chunk based processing.","_links":{"guide":{"href":"https://spring.io/guides/gs/batch-processing/","title":"Creating a Batch Service"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/how-to/batch.html","templated":true}}},{"id":"batch-jdbc","name":"Spring Batch JDBC","description":"JDBC support for Spring Batch applications.","versionRange":"4.0.0.RELEASE","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/how-to/batch.html","templated":true}}},{"id":"hazelcast","name":"Hazelcast","description":"Hazelcast is a distributed cache with in-memory compute and stream processing that accelerates applications with data caching, data integration, and distributed computing.","versionRange":"4.0.0.RELEASE","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/io/hazelcast.html","templated":true}}},{"id":"validation","name":"Validation","description":"Bean Validation with Hibernate validator.","_links":{"guide":{"href":"https://spring.io/guides/gs/validating-form-input/"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/io/validation.html","templated":true}}},{"id":"mail","name":"Java Mail Sender","description":"Send email using Java Mail and Spring Framework's JavaMailSender.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/io/email.html","templated":true}}},{"id":"quartz","name":"Quartz Scheduler","description":"Schedule jobs using Quartz.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/io/quartz.html","templated":true}}},{"id":"cache","name":"Spring Cache Abstraction","description":"Provides cache-related operations, such as the ability to update the content of the cache, but does not provide the actual data store.","_links":{"guide":{"href":"https://spring.io/guides/gs/caching/","title":"Caching Data with Spring"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/io/caching.html","templated":true}}},{"id":"spring-shell","name":"Spring Shell","description":"Build command line applications with spring.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-shell/reference/index.html"}}},{"id":"spring-grpc","name":"Spring gRPC","description":"Support for gRPC, a high performance, open source universal RPC framework.","versionRange":"[4.0.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.spring.io/spring-grpc/reference/index.html"},"sample":{"href":"https://github.com/spring-projects/spring-grpc/tree/main/samples","title":"Various sample apps using Spring gRPC"}}}]},{"name":"Ops","values":[{"id":"actuator","name":"Spring Boot Actuator","description":"Supports built in (or custom) endpoints that let you monitor and manage your application - such as application health, metrics, sessions, etc.","_links":{"guide":{"href":"https://spring.io/guides/gs/actuator-service/","title":"Building a RESTful Web Service with Spring Boot Actuator"},"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/actuator/index.html","templated":true}}},{"id":"sbom-cyclone-dx","name":"CycloneDX SBOM support","description":"Creates a Software Bill of Materials in CycloneDX format.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/actuator/endpoints.html#actuator.endpoints.sbom","templated":true}}},{"id":"codecentric-spring-boot-admin-client","name":"codecentric's Spring Boot Admin (Client)","description":"Required for your application to register with a Codecentric's Spring Boot Admin Server instance.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://codecentric.github.io/spring-boot-admin/current/#getting-started"}}},{"id":"codecentric-spring-boot-admin-server","name":"codecentric's Spring Boot Admin (Server)","description":"A community project to manage and monitor your Spring Boot applications. Provides a UI on top of the Spring Boot Actuator endpoints.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://codecentric.github.io/spring-boot-admin/current/#getting-started"}}},{"id":"sentry","name":"Sentry","description":"Application performance monitoring and error tracking that help software teams see clearer, solve quicker, and learn continuously.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"guide":{"href":"https://docs.sentry.io/platforms/java/guides/spring-boot/","title":"Getting Started with Sentry"},"reference":{"href":"https://docs.sentry.io/platforms/java/"}}}]},{"name":"Observability","values":[{"id":"datadog","name":"Datadog","description":"Publish Micrometer metrics to Datadog, a dimensional time-series SaaS with built-in dashboarding and alerting.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/actuator/metrics.html#actuator.metrics.export.datadog","templated":true}}},{"id":"dynatrace","name":"Dynatrace","description":"Publish Micrometer metrics to Dynatrace, a platform featuring observability, AIOps, application security and analytics.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/actuator/metrics.html#actuator.metrics.export.dynatrace","templated":true}}},{"id":"influx","name":"Influx","description":"Publish Micrometer metrics to InfluxDB, a dimensional time-series server that support real-time stream processing of data.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/actuator/metrics.html#actuator.metrics.export.influx","templated":true}}},{"id":"graphite","name":"Graphite","description":"Publish Micrometer metrics to Graphite, a hierarchical metrics system backed by a fixed-size database.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/actuator/metrics.html#actuator.metrics.export.graphite","templated":true}}},{"id":"new-relic","name":"New Relic","description":"Publish Micrometer metrics to New Relic, a SaaS offering with a full UI and a query language called NRQL.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/actuator/metrics.html#actuator.metrics.export.newrelic","templated":true}}},{"id":"otlp-metrics","name":"OTLP for metrics","description":"Publish Micrometer metrics to an OpenTelemetry Protocol (OTLP) capable backend.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/actuator/metrics.html#actuator.metrics.export.otlp","templated":true}}},{"id":"prometheus","name":"Prometheus","description":"Expose Micrometer metrics in Prometheus format, an in-memory dimensional time series database with a simple built-in UI, a custom query language, and math operations.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/actuator/metrics.html#actuator.metrics.export.prometheus","templated":true}}},{"id":"datasource-micrometer","name":"Datasource Micrometer","description":"Add Micrometer observability instrumentation for JDBC operations."},{"id":"distributed-tracing","name":"Distributed Tracing","description":"Enable span and trace IDs in logs."},{"id":"opentelemetry","name":"OpenTelemetry","description":"Publish metrics and traces in OpenTelemetry's OTLP format.","versionRange":"4.0.0.RELEASE","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/actuator/observability.html#actuator.observability.opentelemetry","templated":true}}},{"id":"wavefront","name":"Wavefront","description":"Publish metrics and optionally distributed traces to Tanzu Observability by Wavefront, a SaaS-based metrics monitoring and analytics platform that lets you visualize, query, and alert over data from across your entire stack.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)"},{"id":"zipkin","name":"Zipkin","description":"Enable and expose span and trace IDs to Zipkin."}]},{"name":"Testing","values":[{"id":"restdocs","name":"Spring REST Docs","description":"Document RESTful services by combining hand-written with Asciidoctor and auto-generated snippets produced with Spring MVC Test.","_links":{"reference":{"href":"https://docs.spring.io/spring-restdocs/docs/current/reference/htmlsingle/"}}},{"id":"testcontainers","name":"Testcontainers","description":"Provide lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.","_links":{"reference":{"href":"https://java.testcontainers.org/"}}},{"id":"cloud-contract-verifier","name":"Contract Verifier","description":"Moves TDD to the level of software architecture by enabling Consumer Driven Contract (CDC) development.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.spring.io/spring-cloud-contract/reference/"}}},{"id":"cloud-contract-stub-runner","name":"Contract Stub Runner","description":"Stub Runner for HTTP/Messaging based communication. Allows creating WireMock stubs from RestDocs tests.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.spring.io/spring-cloud-contract/reference/project-features-stubrunner.html"}}},{"id":"unboundid-ldap","name":"Embedded LDAP Server","description":"Provides a platform neutral way for running a LDAP server in unit tests.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/{bootVersion}/reference/data/nosql.html#data.nosql.ldap.embedded","templated":true}}}]},{"name":"Spring Cloud","values":[{"id":"cloud-starter","name":"Cloud Bootstrap","description":"Non-specific Spring Cloud features, unrelated to external libraries or integrations (e.g. Bootstrap context and @RefreshScope).","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.spring.io/spring-cloud-commons/reference/spring-cloud-commons/application-context-services.html"}}},{"id":"cloud-function","name":"Function","description":"Promotes the implementation of business logic via functions and supports a uniform programming model across serverless providers, as well as the ability to run standalone (locally or in a PaaS).","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.spring.io/spring-cloud-function/reference/"},"sample":{"href":"https://github.com/spring-cloud/spring-cloud-function/tree/main/spring-cloud-function-samples","title":"Various sample apps using Spring Cloud Function"}}},{"id":"cloud-task","name":"Task","description":"Allows a user to develop and run short lived microservices using Spring Cloud. Run them locally, in the cloud, and on Spring Cloud Data Flow.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.spring.io/spring-cloud-task/reference/"}}}]},{"name":"Spring Cloud Config","values":[{"id":"cloud-config-client","name":"Config Client","description":"Client that connects to a Spring Cloud Config Server to fetch the application's configuration.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.spring.io/spring-cloud-config/reference/client.html"}}},{"id":"cloud-config-server","name":"Config Server","description":"Central management for configuration via Git, SVN, or HashiCorp Vault.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"guide":{"href":"https://spring.io/guides/gs/centralized-configuration/","title":"Centralized Configuration"},"reference":{"href":"https://docs.spring.io/spring-cloud-config/reference/server.html"}}},{"id":"cloud-starter-vault-config","name":"Vault Configuration","description":"Provides client-side support for externalized configuration in a distributed system. Using HashiCorp's Vault you have a central place to manage external secret properties for applications across all environments.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.spring.io/spring-cloud-vault/reference/"}}},{"id":"cloud-starter-zookeeper-config","name":"Apache Zookeeper Configuration","description":"Enable and configure common patterns inside your application and build large distributed systems with Apache Zookeeper based components. The provided patterns include Service Discovery and Configuration.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.spring.io/spring-cloud-zookeeper/reference/config.html"}}},{"id":"cloud-starter-consul-config","name":"Consul Configuration","description":"Enable and configure the common patterns inside your application and build large distributed systems with Hashicorp’s Consul. The patterns provided include Service Discovery, Distributed Configuration and Control Bus.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.spring.io/spring-cloud-consul/reference/"}}}]},{"name":"Spring Cloud Discovery","values":[{"id":"cloud-eureka","name":"Eureka Discovery Client","description":"A REST based service for locating services for the purpose of load balancing and failover of middle-tier servers.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"guide":{"href":"https://spring.io/guides/gs/service-registration-and-discovery/","title":"Service Registration and Discovery with Eureka and Spring Cloud"},"reference":{"href":"https://docs.spring.io/spring-cloud-netflix/reference/spring-cloud-netflix.html#_service_discovery_eureka_clients"}}},{"id":"cloud-eureka-server","name":"Eureka Server","description":"spring-cloud-netflix Eureka Server.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"guide":{"href":"https://spring.io/guides/gs/service-registration-and-discovery/","title":"Service Registration and Discovery with Eureka and Spring Cloud"},"reference":{"href":"https://docs.spring.io/spring-cloud-netflix/reference/spring-cloud-netflix.html#spring-cloud-eureka-server"}}},{"id":"cloud-starter-zookeeper-discovery","name":"Apache Zookeeper Discovery","description":"Service discovery with Apache Zookeeper.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.spring.io/spring-cloud-zookeeper/reference/discovery.html"}}},{"id":"cloud-starter-consul-discovery","name":"Consul Discovery","description":"Service discovery with Hashicorp Consul.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.spring.io/spring-cloud-consul/reference/discovery.html"}}}]},{"name":"Spring Cloud Routing","values":[{"id":"cloud-gateway","name":"Gateway","description":"Provides a simple, yet effective way to route to APIs in Servlet-based applications. Provides cross-cutting concerns to those APIs such as security, monitoring/metrics, and resiliency.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.spring.io/spring-cloud-gateway/reference/spring-cloud-gateway-server-mvc.html"}}},{"id":"cloud-gateway-reactive","name":"Reactive Gateway","description":"Provides a simple, yet effective way to route to APIs in reactive applications. Provides cross-cutting concerns to those APIs such as security, monitoring/metrics, and resiliency.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.spring.io/spring-cloud-gateway/reference/spring-cloud-gateway.html"},"guide":{"href":"https://github.com/spring-cloud-samples/spring-cloud-gateway-sample","title":"Using Spring Cloud Gateway"}}},{"id":"cloud-feign","name":"OpenFeign","description":"Declarative REST Client. OpenFeign creates a dynamic implementation of an interface decorated with JAX-RS or Spring MVC annotations.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"sample":{"href":"https://github.com/spring-cloud-samples/feign-eureka","title":"Declarative REST calls with Spring Cloud OpenFeign sample"},"reference":{"href":"https://docs.spring.io/spring-cloud-openfeign/reference/"}}},{"id":"cloud-loadbalancer","name":"Cloud LoadBalancer","description":"Client-side load-balancing with Spring Cloud LoadBalancer.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"guide":{"href":"https://spring.io/guides/gs/spring-cloud-loadbalancer/","title":"Client-side load-balancing with Spring Cloud LoadBalancer"},"reference":{"href":"https://docs.spring.io/spring-cloud-commons/reference/spring-cloud-commons/loadbalancer.html"}}}]},{"name":"Spring Cloud Circuit Breaker","values":[{"id":"cloud-resilience4j","name":"Resilience4J","description":"Spring Cloud Circuit breaker with Resilience4j as the underlying implementation.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.spring.io/spring-cloud-circuitbreaker/reference/spring-cloud-circuitbreaker-resilience4j.html"}}}]},{"name":"Spring Cloud Messaging","values":[{"id":"cloud-bus","name":"Cloud Bus","description":"Links nodes of a distributed system with a lightweight message broker which can used to broadcast state changes or other management instructions (requires a binder, e.g. Apache Kafka or RabbitMQ).","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.spring.io/spring-cloud-bus/reference/"}}},{"id":"cloud-stream","name":"Cloud Stream","description":"Framework for building highly scalable event-driven microservices connected with shared messaging systems (requires a binder, e.g. Apache Kafka, Apache Pulsar, RabbitMQ, or Solace PubSub+).","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.spring.io/spring-cloud-stream/reference/"}}}]},{"name":"VMware Tanzu Application Service","values":[{"id":"scs-config-client","name":"Config Client (TAS)","description":"Config client on VMware Tanzu Application Service.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.vmware.com/en/Spring-Cloud-Services-for-VMware-Tanzu/index.html"}}},{"id":"scs-service-registry","name":"Service Registry (TAS)","description":"Eureka service discovery client on VMware Tanzu Application Service.","versionRange":"[3.5.0.RELEASE,4.1.0.M1)","_links":{"reference":{"href":"https://docs.vmware.com/en/Spring-Cloud-Services-for-VMware-Tanzu/index.html"}}}]},{"name":"VMware Tanzu Spring Enterprise Extensions","values":[{"id":"tanzu-governance-starter","name":"Governance Starter [Enterprise]","description":"The Enterprise Spring Boot Governance Starter library enforces cipher and TLS security based on the industry standard, and empowers Spring developers to auto-generate compliance and governance reporting information for their applications.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://techdocs.broadcom.com/us/en/vmware-tanzu/spring/tanzu-spring/commercial/spring-tanzu/index-sbgs.html"}}},{"id":"tanzu-scg-access-control","name":"Spring Cloud Gateway Access Control [Enterprise]","description":"Spring Cloud Gateway filters for access control based on API keys or JWT Tokens.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://techdocs.broadcom.com/us/en/vmware-tanzu/spring/spring-cloud-gateway-extensions/1-0-0/scg-extensions/access-control.html"}}},{"id":"tanzu-scg-custom","name":"Spring Cloud Gateway Custom [Enterprise]","description":"Spring Cloud Gateway utilities to help develop custom filters and predicates.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://techdocs.broadcom.com/us/en/vmware-tanzu/spring/spring-cloud-gateway-extensions/1-0-0/scg-extensions/custom.html"}}},{"id":"tanzu-scg-graphql","name":"Spring Cloud Gateway GraphQL [Enterprise]","description":"Spring Cloud Gateway filters to restrict GraphQL operations.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://techdocs.broadcom.com/us/en/vmware-tanzu/spring/spring-cloud-gateway-extensions/1-0-0/scg-extensions/graphql.html"}}},{"id":"tanzu-scg-sso","name":"Spring Cloud Gateway Single Sign On [Enterprise]","description":"Spring Cloud Gateway filters to add single sign-on (SSO) and restrict traffic based on roles or scopes.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://techdocs.broadcom.com/us/en/vmware-tanzu/spring/spring-cloud-gateway-extensions/1-0-0/scg-extensions/sso.html"}}},{"id":"tanzu-scg-traffic-control","name":"Spring Cloud Gateway Traffic Control [Enterprise]","description":"Spring Cloud Gateway filters to restrict traffic based on request parameters and add circuit breakers.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://techdocs.broadcom.com/us/en/vmware-tanzu/spring/spring-cloud-gateway-extensions/1-0-0/scg-extensions/traffic-control.html"}}},{"id":"tanzu-scg-transformation","name":"Spring Cloud Gateway Transformation [Enterprise]","description":"Spring Cloud Gateway filters to transform the response before returning downstream.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://techdocs.broadcom.com/us/en/vmware-tanzu/spring/spring-cloud-gateway-extensions/1-0-0/scg-extensions/transformation.html"}}}]},{"name":"Microsoft Azure","values":[{"id":"azure-support","name":"Azure Support","description":"Auto-configuration for Azure Services (Service Bus, Storage, Active Directory, Key Vault, and more).","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"guide":{"href":"https://spring.io/guides/gs/spring-boot-for-azure/","title":"Deploying a Spring Boot app to Azure"},"reference":{"href":"https://aka.ms/spring/msdocs/developer-guide","title":"Spring Cloud Azure developer guide"},"sample":{"href":"https://aka.ms/spring/samples","title":"Azure Samples"}}},{"id":"azure-active-directory","name":"Azure Active Directory","description":"Spring Security integration with Azure Active Directory for authentication.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"guide":{"href":"https://aka.ms/spring/msdocs/aad","title":"Securing a Java Web App with the Spring Boot Starter for Azure Active Directory"},"reference":{"href":"https://microsoft.github.io/spring-cloud-azure/current/reference/html/index.html#spring-security-with-azure-active-directory"},"sample":{"href":"https://aka.ms/spring/samples/latest/aad","title":"Azure Active Directory Sample"}}},{"id":"azure-cosmos-db","name":"Azure Cosmos DB","description":"Fully managed NoSQL database service for modern app development, including Spring Data support.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"guide":{"href":"https://aka.ms/spring/msdocs/cosmos","title":"How to use Spring Boot Starter with Azure Cosmos DB SQL API"},"reference":{"href":"https://microsoft.github.io/spring-cloud-azure/current/reference/html/index.html#spring-data-support"},"sample":{"href":"https://aka.ms/spring/samples/latest/cosmos","title":"Azure Cosmos DB Sample"}}},{"id":"azure-keyvault","name":"Azure Key Vault","description":"All key vault features are supported, e.g. manage application secrets and certificates.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"guide":[{"href":"https://aka.ms/spring/msdocs/keyvault","title":"Read Secrets from Azure Key Vault in a Spring Boot Application"},{"href":"https://aka.ms/spring/msdocs/keyvault/certificates","title":"Securing Spring Boot Applications with Azure Key Vault Certificates"}],"reference":{"href":"https://microsoft.github.io/spring-cloud-azure/current/reference/html/index.html#secret-management"},"sample":{"href":"https://aka.ms/spring/samples/latest/keyvault","title":"Azure Key Vault Sample"}}},{"id":"azure-storage","name":"Azure Storage","description":"All Storage features are supported, e.g. blob, fileshare and queue.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"guide":{"href":"https://aka.ms/spring/msdocs/storage","title":"How to use the Spring Boot starter for Azure Storage"},"reference":{"href":"https://microsoft.github.io/spring-cloud-azure/current/reference/html/index.html#resource-handling"},"sample":{"href":"https://aka.ms/spring/samples/latest/storage","title":"Azure Storage Sample"}}}]},{"name":"Google Cloud","values":[{"id":"cloud-gcp","name":"Google Cloud Support","description":"Contains auto-configuration support for every Google Cloud integration. Most of the auto-configuration code is only enabled if other dependencies are added to the classpath.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://googlecloudplatform.github.io/spring-cloud-gcp/reference/html/index.html"},"guide":{"href":"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/tree/main/spring-cloud-gcp-samples","title":"Google Cloud Samples"}}},{"id":"cloud-gcp-pubsub","name":"Google Cloud Messaging","description":"Adds the Google Cloud Support entry and all the required dependencies so that the Google Cloud Pub/Sub integration work out of the box.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://googlecloudplatform.github.io/spring-cloud-gcp/reference/html/index.html#cloud-pubsub"},"guide":{"href":"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/tree/main/spring-cloud-gcp-samples/spring-cloud-gcp-pubsub-sample","title":"Google Cloud Pub/Sub Sample"}}},{"id":"cloud-gcp-storage","name":"Google Cloud Storage","description":"Adds the Google Cloud Support entry and all the required dependencies so that the Google Cloud Storage integration work out of the box.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://googlecloudplatform.github.io/spring-cloud-gcp/reference/html/index.html#cloud-storage"},"guide":{"href":"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/tree/main/spring-cloud-gcp-samples/spring-cloud-gcp-storage-resource-sample"}}}]},{"name":"AI","values":[{"id":"spring-ai-anthropic","name":"Anthropic Claude","description":"Spring AI support for Anthropic Claude AI models.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/chat/anthropic-chat.html"}}},{"id":"spring-ai-azure-openai","name":"Azure OpenAI","description":"Spring AI support for Azure’s OpenAI offering, powered by ChatGPT. It extends beyond traditional OpenAI capabilities, delivering AI-driven text generation with enhanced functionality.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/chat/azure-openai-chat.html"}}},{"id":"spring-ai-vectordb-azure","name":"Azure AI Search","description":"Spring AI vector database support for Azure AI Search. It is an AI-powered information retrieval platform and part of Microsoft’s larger AI platform. Among other features, it allows users to query information using vector-based storage and retrieval.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/azure.html"}}},{"id":"spring-ai-bedrock","name":"Amazon Bedrock","description":"Spring AI support for Amazon Bedrock Cohere and Titan Embedding Models.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/bedrock-chat.html"}}},{"id":"spring-ai-bedrock-converse","name":"Amazon Bedrock Converse","description":"Spring AI support for Amazon Bedrock Converse. It provides a unified interface for conversational AI models with enhanced capabilities including function/tool calling, multimodal inputs, and streaming responses.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/bedrock-converse.html"}}},{"id":"spring-ai-deepseek","name":"DeepSeek","description":"Spring AI support for DeepSeek AI models.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/chat/deepseek-chat.html"}}},{"id":"spring-ai-elevenlabs","name":"ElevenLabs","description":"Spring AI support for ElevenLabs text-to-speech models.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/speech/elevenlabs-speech.html"}}},{"id":"spring-ai-google-genai","name":"Google GenAI","description":"Spring AI support for Google GenAI (Gemini) models.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/chat/google-genai-chat.html"}}},{"id":"spring-ai-google-genai-embedding","name":"Google GenAI Embeddings","description":"Spring AI support for Google GenAI embedding models.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/embeddings/google-genai-embeddings.html"}}},{"id":"spring-ai-huggingface","name":"HuggingFace","description":"Spring AI support for HuggingFace AI models.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/chat/huggingface.html"}}},{"id":"spring-ai-minimax","name":"MiniMax","description":"Spring AI support for MiniMax AI models.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/chat/minimax-chat.html"}}},{"id":"spring-ai-oci-genai","name":"OCI GenAI","description":"Spring AI support for Oracle Cloud Infrastructure (OCI) GenAI models.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/chat/oci-genai-chat.html"}}},{"id":"spring-ai-zhipuai","name":"ZhipuAI","description":"Spring AI support for ZhipuAI models.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/chat/zhipuai-chat.html"}}},{"id":"spring-ai-vectordb-cassandra","name":"Apache Cassandra Vector Database","description":"Spring AI vector database support for Apache Cassandra.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/apache-cassandra.html"}}},{"id":"spring-ai-vectordb-chroma","name":"Chroma Vector Database","description":"Spring AI vector database support for Chroma. It is an open-source embedding database and gives you the tools to store document embeddings, content, and metadata. It also allows to search through those embeddings, including metadata filtering.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/chroma.html"}}},{"id":"spring-ai-vectordb-couchbase","name":"Couchbase Vector Database","description":"Spring AI vector database support for Couchbase.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/couchbase.html"}}},{"id":"spring-ai-vectordb-elasticsearch","name":"Elasticsearch Vector Database","description":"Spring AI vector database support for Elasticsearch.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/elasticsearch.html"}}},{"id":"spring-ai-vectordb-gemfire","name":"GemFire Vector Database","description":"Spring AI vector database support for GemFire.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/gemfire.html"}}},{"id":"spring-ai-mcp-server","name":"Model Context Protocol Server","description":"Spring AI support for Model Context Protocol (MCP) servers.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/mcp/mcp-server-boot-starter-docs.html"}}},{"id":"spring-ai-mcp-client","name":"Model Context Protocol Client","description":"Spring AI support for Model Context Protocol (MCP) clients.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/mcp/mcp-client-boot-starter-docs.html"}}},{"id":"spring-ai-vectordb-milvus","name":"Milvus Vector Database","description":"Spring AI vector database support for Milvus. It is an open-source vector database that has garnered significant attention in the fields of data science and machine learning. One of its standout features lies in its robust support for vector indexing and querying.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/milvus.html"}}},{"id":"spring-ai-mistral","name":"Mistral AI","description":"Spring AI support for Mistral AI, the open and portable generative AI for devs and businesses.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/chat/mistralai-chat.html"}}},{"id":"spring-ai-vectordb-mongodb-atlas","name":"MongoDB Atlas Vector Database","description":"Spring AI vector database support for MongoDB Atlas. Is is a fully managed cloud database service that provides an easy way to deploy, operate, and scale a MongoDB database in the cloud.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/mongodb.html"}}},{"id":"spring-ai-vectordb-neo4j","name":"Neo4j Vector Database","description":"Spring AI vector database support for Neo4j's Vector Search. It allows users to query vector embeddings from large datasets.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/neo4j.html"}}},{"id":"spring-ai-vectordb-opensearch","name":"OpenSearch Vector Database","description":"Spring AI vector database support for OpenSearch.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/opensearch.html"}}},{"id":"spring-ai-vectordb-aws-opensearch","name":"AWS OpenSearch Vector Database","description":"Spring AI vector database support for AWS OpenSearch Service.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/opensearch.html"}}},{"id":"spring-ai-ollama","name":"Ollama","description":"Spring AI support for Ollama. It allows you to run various Large Language Models (LLMs) locally and generate text from them.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/chat/ollama-chat.html"}}},{"id":"spring-ai-openai","name":"OpenAI","description":"Spring AI support for ChatGPT, the AI language model and DALL-E, the Image generation model from OpenAI.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/chat/openai-chat.html"}}},{"id":"spring-ai-chat-memory-repository-in-memory","name":"In-memory Chat Memory Repository","description":"Spring AI support for in-memory chat memory repository.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/chat-memory.html"}}},{"id":"spring-ai-chat-memory-repository-jdbc","name":"JDBC Chat Memory Repository","description":"Spring AI support for JDBC based chat memory.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/chat-memory.html"}}},{"id":"spring-ai-chat-memory-repository-cassandra","name":"Cassandra Chat Memory Repository","description":"Spring AI support for Cassandra based chat memory.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/chat-memory.html"}}},{"id":"spring-ai-chat-memory-repository-mongodb","name":"MongoDB Chat Memory Repository","description":"Spring AI support for MongoDB based chat memory.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/chat-memory.html"}}},{"id":"spring-ai-chat-memory-repository-neo4j","name":"Neo4j Chat Memory Repository","description":"Spring AI support for Neo4j based chat memory.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/chat-memory.html"}}},{"id":"spring-ai-vectordb-oracle","name":"Oracle Vector Database","description":"Spring AI vector database support for Oracle. Enables storing, indexing and searching vector embeddings in Oracle Database 23ai.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/oracle.html"}}},{"id":"spring-ai-vectordb-pgvector","name":"PGvector Vector Database","description":"Spring AI vector database support for PGvector. It is an open-source extension for PostgreSQL that enables storing and searching over machine learning-generated embeddings.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/pgvector.html"}}},{"id":"spring-ai-vectordb-pinecone","name":"Pinecone Vector Database","description":"Spring AI vector database support for Pinecone. It is a popular cloud-based vector database and allows you to store and search vectors efficiently.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/pinecone.html"}}},{"id":"spring-ai-postgresml","name":"PostgresML","description":"Spring AI support for the PostgresML text embeddings models.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/embeddings/postgresml-embeddings.html"}}},{"id":"spring-ai-vectordb-redis","name":"Redis Search and Query Vector Database","description":"Spring AI vector database support for Redis Search and Query. It extends the core features of Redis OSS and allows you to use Redis as a vector database.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/redis.html"}}},{"id":"spring-ai-vectordb-mariadb","name":"MariaDB Vector Database","description":"Spring AI support for MariaDB. MariaDB Vector Store support is part of MariaDB 11.7. It provides efficient vector similarity search capabilities using vector indexes, supporting both cosine similarity and Euclidean distance metrics.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/mariadb.html"}}},{"id":"spring-ai-vectordb-azurecosmosdb","name":"Azure Cosmos DB Vector Store","description":"Spring AI support for Azure Cosmos DB. Azure Cosmos DB is Microsoft’s globally distributed cloud-native database service designed for mission-critical applications.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/azure-cosmos-db.html"}}},{"id":"spring-ai-stabilityai","name":"Stability AI","description":"Spring AI support for Stability AI's text to image generation model.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/image/stabilityai-image.html"}}},{"id":"spring-ai-transformers","name":"Transformers (ONNX) Embeddings","description":"Spring AI support for pre-trained transformer models, serialized into the Open Neural Network Exchange (ONNX) format.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/embeddings/onnx.html"}}},{"id":"spring-ai-vertexai-gemini","name":"Vertex AI Gemini","description":"Spring AI support for Google Vertex Gemini chat. Doesn't support embeddings.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/chat/vertexai-gemini-chat.html"}}},{"id":"spring-ai-vertexai-embeddings","name":"Vertex AI Embeddings","description":"Spring AI support for Google Vertex text and multimodal embedding models.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":[{"href":"https://docs.spring.io/spring-ai/reference/api/embeddings/vertexai-embeddings-text.html","title":"Text embedding reference"},{"href":"https://docs.spring.io/spring-ai/reference/api/embeddings/vertexai-embeddings-multimodal.html","title":"Multimodal embedding reference"}]}},{"id":"spring-ai-vectordb-qdrant","name":"Qdrant Vector Database","description":"Spring AI vector database support for Qdrant. It is an open-source, high-performance vector search engine/database.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/qdrant.html"}}},{"id":"spring-ai-vectordb-typesense","name":"Typesense Vector Database","description":"Spring AI vector database support for Typesense.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/typesense.html"}}},{"id":"spring-ai-vectordb-weaviate","name":"Weaviate Vector Database","description":"Spring AI vector database support for Weaviate, an open-source vector database. It allows you to store data objects and vector embeddings from your favorite ML-models and scale seamlessly into billions of data objects.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/vectordbs/weaviate.html"}}},{"id":"spring-ai-markdown-document-reader","name":"Markdown Document Reader","description":"Spring AI Markdown document reader. It allows to load Markdown documents, converting them into a list of Spring AI Document objects.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/etl-pipeline.html#_markdown"}}},{"id":"spring-ai-tika-document-reader","name":"Tika Document Reader","description":"Spring AI Tika document reader. It uses Apache Tika to extract text from a variety of document formats, such as PDF, DOC/DOCX, PPT/PPTX, and HTML. The documents are converted into a list of Spring AI Document objects.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/etl-pipeline.html#_tika_docx_pptx_html"}}},{"id":"spring-ai-pdf-document-reader","name":"PDF Document Reader","description":"Spring AI PDF document reader. It uses Apache PdfBox to extract text from PDF documents and converting them into a list of Spring AI Document objects.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://docs.spring.io/spring-ai/reference/api/etl-pipeline.html#_pdf_page"}}},{"id":"timefold-solver","name":"Timefold Solver","description":"AI solver to optimize operations and scheduling.","versionRange":"[3.5.0.RELEASE,4.0.0.RELEASE)","_links":{"reference":{"href":"https://timefold.ai/docs/timefold-solver/latest/quickstart/spring-boot/spring-boot-quickstart#springBootJavaQuickStart"},"sample":{"href":"https://github.com/TimefoldAI/timefold-quickstarts/tree/stable/java/spring-boot-integration","title":"Timetabling sample. Assign lessons to timeslots and rooms to produce a better schedule for teachers and students"}}}]}]},"type":{"type":"action","default":"gradle-project","values":[{"id":"gradle-project","name":"Gradle - Groovy","description":"Generate a Gradle based project archive using the Groovy DSL.","action":"/starter.zip","tags":{"build":"gradle","dialect":"groovy","format":"project"}},{"id":"gradle-project-kotlin","name":"Gradle - Kotlin","description":"Generate a Gradle based project archive using the Kotlin DSL.","action":"/starter.zip","tags":{"build":"gradle","dialect":"kotlin","format":"project"}},{"id":"gradle-build","name":"Gradle Config","description":"Generate a Gradle build file.","action":"/build.gradle","tags":{"build":"gradle","format":"build"}},{"id":"maven-project","name":"Maven","description":"Generate a Maven based project archive.","action":"/starter.zip","tags":{"build":"maven","format":"project"}},{"id":"maven-build","name":"Maven POM","description":"Generate a Maven pom.xml.","action":"/pom.xml","tags":{"build":"maven","format":"build"}}]},"packaging":{"type":"single-select","default":"jar","values":[{"id":"jar","name":"Jar"},{"id":"war","name":"War"}]},"javaVersion":{"type":"single-select","default":"17","values":[{"id":"25","name":"25"},{"id":"21","name":"21"},{"id":"17","name":"17"}]},"language":{"type":"single-select","default":"java","values":[{"id":"java","name":"Java"},{"id":"kotlin","name":"Kotlin"},{"id":"groovy","name":"Groovy"}]},"bootVersion":{"type":"single-select","default":"4.0.1.RELEASE","values":[{"id":"4.0.2.BUILD-SNAPSHOT","name":"4.0.2 (SNAPSHOT)"},{"id":"4.0.1.RELEASE","name":"4.0.1"},{"id":"3.5.10.BUILD-SNAPSHOT","name":"3.5.10 (SNAPSHOT)"},{"id":"3.5.9.RELEASE","name":"3.5.9"}]},"groupId":{"type":"text","default":"com.example"},"artifactId":{"type":"text","default":"demo"},"version":{"type":"text","default":"0.0.1-SNAPSHOT"},"name":{"type":"text","default":"demo"},"description":{"type":"text","default":"Demo project for Spring Boot"},"packageName":{"type":"text","default":"com.example.demo"}}