CINXE.COM

{"_links":{"maven-project":{"href":"https://start.dubbo.apache.org/starter.zip?type=maven-project{&dependencies,packaging,javaVersion,language,bootVersion,groupId,artifactId,version,name,description,packageName,architecture}","templated":true},"maven-build":{"href":"https://start.dubbo.apache.org/pom.xml?type=maven-build{&dependencies,packaging,javaVersion,language,bootVersion,groupId,artifactId,version,name,description,packageName,architecture}","templated":true},"gradle-project":{"href":"https://start.dubbo.apache.org/starter.zip?type=gradle-project{&dependencies,packaging,javaVersion,language,bootVersion,groupId,artifactId,version,name,description,packageName,architecture}","templated":true},"gradle-build":{"href":"https://start.dubbo.apache.org/build.gradle?type=gradle-build{&dependencies,packaging,javaVersion,language,bootVersion,groupId,artifactId,version,name,description,packageName,architecture}","templated":true},"dependencies":{"href":"https://start.dubbo.apache.org/dependencies{?bootVersion}","templated":true}},"dependencies":{"type":"hierarchical-multi-select","values":[{"name":"Dubbo Service API","values":[{"id":"dubbo","name":"Java Interface (default)","description":"Use java interface as the standard Dubbo service definition"},{"id":"dubbo-idl","name":"IDL","description":"Use IDL as the standard Dubbo service definition","versionRange":"3.1.8"}]},{"name":"Dubbo Registry & Config & Metadata","values":[{"id":"dubbo-registry-zookeeper-starter","name":"Zookeeper-spring-boot-starter","description":"Same as 'Zookeeper' but is Spring Boot Starter managed.","versionRange":"3.3.0-beta.1","_links":{"reference":{"href":"https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/registry/zookeeper/","title":"Dubbo Zookeeper registry configuration reference"}}},{"id":"dubbo-registry-zookeeper-curator5-starter","name":"Zookeeper-spring-boot-curator5-starter","description":"[Requires 3.8.0+ zk server] Same as 'Zookeeper-curator5' but is Spring Boot Starter managed.","versionRange":"3.3.0-beta.1","_links":{"reference":{"href":"https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/registry/zookeeper/","title":"Dubbo Zookeeper registry configuration reference"}}},{"id":"dubbo-registry-nacos-starter","name":"Nacos-spring-boot-starter","description":"Same as 'Nacos' but is Spring Boot Starter managed.","versionRange":"3.3.0-beta.1","_links":{"reference":{"href":"https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/registry/zookeeper/","title":"Dubbo Zookeeper registry configuration reference"}}},{"id":"dubbo-registry-zookeeper","name":"Zookeeper","description":"Zookeeper as registry, will also be used as metadata and config centers by default.","versionRange":"[3.1.8,3.3.0-beta.1)","_links":{"reference":{"href":"https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/registry/zookeeper/","title":"Dubbo Zookeeper registry configuration reference"}}},{"id":"dubbo-registry-zookeeper-curator5","name":"Zookeeper-curator5","description":"[Requires 3.8.0+ zk server] Zookeeper as registry, will also be used as metadata and config centers by default.","versionRange":"[3.1.8,3.3.0-beta.1)","_links":{"reference":{"href":"https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/registry/zookeeper/","title":"Dubbo Zookeeper registry configuration reference"}}},{"id":"dubbo-registry-nacos","name":"Nacos","description":"Nacos as registry, will also be used as metadata and config centers by default.","versionRange":"[3.1.8,3.3.0-beta.1)","_links":{"reference":{"href":"https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/registry/nacos/","title":"Dubbo Nacos registry configuration reference"}}},{"id":"dubbo-configcenter-apollo","name":"Apollo","description":"Apollo as config center, will override the default config center configuration.","versionRange":"2.7.21","_links":{"reference":{"href":"https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/configcenter/apollo/","title":"Dubbo Apollo config center configuration reference"}}},{"id":"dubbo-metadata-redis","name":"Redis","description":"Redis as metadata center, will override the default metadata center configuration.","versionRange":"2.7.21","_links":{"reference":{"href":"https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/metadata/redis/","title":"Dubbo Redis metadata center configuration reference"}}}]},{"name":"Dubbo Protocol","values":[{"id":"dubbo-protocol-triple","name":"Triple","description":"Triple is fully compatible with gRPC, can be accessed by cURL and Browser directly, which is great to build microservice and web applications.","versionRange":"3.1.8","_links":{"reference":{"href":"https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/triple/","title":"Dubbo triple protocol reference"}}},{"id":"dubbo-protocol-tcp","name":"TCP","description":"Dubbo2 is an RPC protocol built on top of tcp with extremely high performance.","versionRange":"2.7.21","_links":{"reference":{"href":"https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/dubbo/","title":"Dubbo tcp protocol reference"}}},{"id":"dubbo-protocol-rest","name":"REST","description":"Rest style rpc that uses HTTP+JSON on the wire, works for both backend and browser, provides support for both JAX-RS and Spring Web annotations.","versionRange":"3.3.0-beta.1","_links":{"reference":{"href":"https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/rest/","title":"Dubbo rest protocol reference"}}}]},{"name":"Dubbo Advanced Features","values":[{"id":"dubbo-feature-qos","name":"QoS","description":"Dubbo built-in endpoints that let you monitor and manage your Dubbo instance and the services inside it.","_links":{"reference":{"href":"https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/qos/overview/","title":"Dubbo qos configuration reference"}}},{"id":"dubbo-feature-metrics","name":"Metrics Prometheus","description":"Enables collections of standard Dubbo metrics which can be used to report to Prometheus for visualization using Grafana and Admin.","versionRange":"3.3.0-beta.1","_links":{"reference":{"href":"https://dubbo.apache.org/zh-cn/overview/tasks/observability/prometheus/","title":"Dubbo metrics configuration"}}},{"id":"dubbo-feature-tracing","name":"Tracing Zipkin","description":"Enable and expose span and trace IDs to Zipkin.","versionRange":"3.3.0-beta.1","_links":{"reference":{"href":"https://dubbo.apache.org/zh-cn/overview/tasks/observability/tracing/zipkin/","title":"Dubbo tracing using Zipkin"}}},{"id":"dubbo-feature-tracing-otel","name":"Tracing OpenTelemetry","description":"Enable and expose span and trace IDs to OpenTelemetry compatible backends.","versionRange":"3.3.0-beta.1","_links":{"reference":{"href":"https://dubbo.apache.org/zh-cn/overview/tasks/observability/tracing/otlp/","title":"Dubbo tracing using OpenTelemetry"}}},{"id":"dubbo-feature-sentinel","name":"Resilience Sentinel","description":"Dubbo circuit breaker and rate limiting with Sentinel as the underlying implementation.","versionRange":"3.3.0-beta.1","_links":{"reference":{"href":"https://dubbo.apache.org/zh-cn/overview/core-features/traffic/circuit-breaking/","title":"Dubbo rate limiting using Sentinel"}}},{"id":"dubbo-feature-seata","name":"Transaction Seata","description":"Dubbo transaction solution to guarantee data consistency with Seata as the underlying implementation.","versionRange":"3.3.0-beta.1","_links":{"reference":{"href":"https://dubbo.apache.org/zh-cn/overview/tasks/ecosystem/transaction/","title":"Dubbo distributed transaction with Seata"}}},{"id":"dubbo-feature-native","name":"GraalVM Native Support","description":"[Requires java 17+, SpringBoot 3.x, curator5 for zookeeper], support for compiling Dubbo applications to native executables using GraalVM.","versionRange":"3.3.0-beta.1","_links":{"reference":{"href":"https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/performance/support-graalvm/","title":"Dubbo native image support"}}}]},{"name":"Developer Tools","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/docs/{bootVersion}/reference/htmlsingle/#actuator","templated":true}}},{"id":"codecentric-spring-boot-admin-client","name":"Spring Boot Admin (Client)","description":"Required for your application to register with a Spring Boot Admin Server instance.","versionRange":"[2.0.0.RELEASE,3.2.0-M1)","_links":{"reference":{"href":"https://www.baeldung.com/spring-boot-admin"}}},{"id":"arthas","name":"Arthas","description":"Arthas 是Alibaba开源的Java诊断工具,允许开发者在不修改代码或重启服务器的基础上,实现Java应用程序的运行时诊断,深受开发者喜爱;","_links":{"reference":{"href":"https://arthas.gitee.io/index.html"}}},{"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/docs/{bootVersion}/reference/htmlsingle/#using.devtools","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/docs/{bootVersion}/reference/htmlsingle/#appendix.configuration-metadata.annotation-processor","templated":true}}},{"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/html5/"}}},{"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://www.testcontainers.org/"}}}]},{"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/docs/{bootVersion}/reference/htmlsingle/#web","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/docs/{bootVersion}/reference/htmlsingle/#web.reactive","templated":true}}},{"id":"graphql","name":"Spring for GraphQL","description":"Build GraphQL applications with Spring for GraphQL and GraphQL Java.","versionRange":"2.7.0.M1"},{"id":"session","name":"Spring Session","description":"Provides an API and implementations for managing user session information.","_links":{"reference":{"href":"https://docs.spring.io/spring-session/reference/"}}}]},{"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/docs/{bootVersion}/reference/htmlsingle/#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/docs/{bootVersion}/reference/htmlsingle/#web.servlet.spring-mvc.template-engines","templated":true}}},{"id":"mustache","name":"Mustache","description":"Logic-less Templates. There are no if statements, else clauses, or for loops. Instead there are only tags.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#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/docs/{bootVersion}/reference/htmlsingle/#web.servlet.spring-mvc.template-engines","templated":true}}}]},{"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/docs/{bootVersion}/reference/htmlsingle/#web.security","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/docs/{bootVersion}/reference/htmlsingle/#web.security.oauth2.client","templated":true}}},{"id":"oauth2-resource-server","name":"OAuth2 Resource Server","description":"Spring Boot integration for Spring Security's OAuth2 resource server features.","versionRange":"2.1.0.M2","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#web.security.oauth2.server","templated":true}}},{"id":"data-ldap","name":"Spring LDAP","description":"Makes it easier to build Spring based applications that use the Lightweight Directory Access Protocol.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#data.nosql.ldap","templated":true}}},{"id":"okta","name":"Okta","description":"Okta specific configuration for Spring Security/Spring Boot OAuth2 features. Enable your Spring Boot application to work with Okta via OAuth 2.0/OIDC.","versionRange":"[2.1.2.RELEASE,3.0.0-M1)","_links":{"guide":[{"href":"https://github.com/okta/samples-java-spring/tree/master/okta-hosted-login","title":"Okta-Hosted Login Page Example"},{"href":"https://github.com/okta/samples-java-spring/tree/master/custom-login","title":"Custom Login Page Example"},{"href":"https://github.com/okta/samples-java-spring/tree/master/resource-server","title":"Okta Spring Security Resource Server Example"}],"reference":{"href":"https://github.com/okta/okta-spring-boot#readme","title":"Okta Spring Boot documentation"}}}]},{"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/docs/{bootVersion}/reference/htmlsingle/#data.sql","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/docs/{bootVersion}/reference/htmlsingle/#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/master/jdbc/basics","title":"Using Spring Data JDBC"},"reference":{"href":"https://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#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/docs/{bootVersion}/reference/htmlsingle/#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":"[2.0.0.RELEASE,3.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/docs/{bootVersion}/reference/htmlsingle/#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/docs/{bootVersion}/reference/htmlsingle/#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/docs/{bootVersion}/reference/htmlsingle/#data.sql.jooq","templated":true}}},{"id":"db2","name":"IBM DB2 Driver","description":"A JDBC driver that provides access to IBM DB2.","versionRange":"2.2.0.M6"},{"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 and R2DBC 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/docs/{bootVersion}/reference/htmlsingle/#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/docs/{bootVersion}/reference/htmlsingle/#data.nosql.redis","templated":true}}},{"id":"data-mongodb","name":"Spring Data MongoDB","description":"Store data in flexible, JSON-like documents, meaning fields can vary from document to document and data structure can be changed over time.","_links":{"guide":{"href":"https://spring.io/guides/gs/accessing-data-mongodb/","title":"Accessing Data with MongoDB"},"reference":{"href":"https://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#data.nosql.mongodb","templated":true}}},{"id":"data-mongodb-reactive","name":"Spring Data Reactive MongoDB","description":"Provides asynchronous stream processing with non-blocking back pressure for MongoDB.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#data.nosql.mongodb","templated":true},"guide":{"href":"https://spring.io/guides/gs/accessing-data-mongodb/","title":"Accessing Data with MongoDB"}}},{"id":"data-elasticsearch","name":"Spring Data Elasticsearch (Access+Driver)","description":"A distributed, RESTful search and analytics engine with Spring Data Elasticsearch.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#data.nosql.elasticsearch","templated":true}}},{"id":"data-cassandra","name":"Spring Data for Apache Cassandra","description":"A free and open-source, distributed, NoSQL database management system that offers high-scalability and high-performance.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#data.nosql.cassandra","templated":true},"guide":{"href":"https://spring.io/guides/gs/accessing-data-cassandra/"}}},{"id":"data-cassandra-reactive","name":"Spring Data Reactive for Apache Cassandra","description":"Access Cassandra NoSQL Database in a reactive fashion.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#data.nosql.cassandra","templated":true},"guide":{"href":"https://spring.io/guides/gs/accessing-data-cassandra/"}}},{"id":"data-couchbase","name":"Spring Data Couchbase","description":"NoSQL document-oriented database that offers in memory-first architecture, geo-distributed deployments, and workload isolation.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#data.nosql.couchbase","templated":true}}},{"id":"data-couchbase-reactive","name":"Spring Data Reactive Couchbase","description":"Access Couchbase NoSQL database in a reactive fashion with Spring Data Couchbase.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#data.nosql.couchbase","templated":true}}},{"id":"data-neo4j","name":"Spring Data Neo4j","description":"An open source NoSQL database that stores data structured as graphs consisting of nodes, connected by relationships.","_links":{"guide":{"href":"https://spring.io/guides/gs/accessing-data-neo4j/","title":"Accessing Data with Neo4j"},"reference":{"href":"https://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#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/docs/{bootVersion}/reference/htmlsingle/#messaging.spring-integration","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/docs/{bootVersion}/reference/htmlsingle/#messaging.amqp","templated":true}}},{"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/docs/{bootVersion}/reference/htmlsingle/#messaging.kafka","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/master/kafka-streams-samples","title":"Samples for using Apache Kafka Streams with Spring Cloud stream"},"reference":[{"href":"https://docs.spring.io/spring-kafka/docs/current/reference/html/#streams-kafka-streams","title":"Apache Kafka Streams Support"},{"href":"https://docs.spring.io/spring-cloud-stream/docs/current/reference/htmlsingle/#_kafka_streams_binding_capabilities_of_spring_cloud_stream","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'.","versionRange":"[2.0.0.RELEASE,3.0.0-M1)","_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/docs/{bootVersion}/reference/htmlsingle/#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/docs/{bootVersion}/reference/htmlsingle/#messaging.jms.artemis","templated":true}}},{"id":"websocket","name":"WebSocket","description":"Build 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/docs/{bootVersion}/reference/htmlsingle/#messaging.websockets","templated":true}}},{"id":"rsocket","name":"RSocket","description":"RSocket.io applications with Spring Messaging and Netty.","versionRange":"2.2.0.M2","_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":"[2.0.0.M1,3.0.0-M1)","_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":"[2.2.0.RELEASE,3.0.0-M1)","_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/docs/{bootVersion}/reference/htmlsingle/#howto.batch","templated":true}}},{"id":"validation","name":"Validation","description":"Bean Validation with Hibernate validator.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#io.validation","templated":true},"guide":{"href":"https://spring.io/guides/gs/validating-form-input/"}}},{"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/docs/{bootVersion}/reference/htmlsingle/#io.email","templated":true}}},{"id":"quartz","name":"Quartz Scheduler","description":"Schedule jobs using Quartz.","_links":{"reference":{"href":"https://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#io.quartz","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/docs/{bootVersion}/reference/htmlsingle/#io.caching","templated":true}}},{"id":"picocli","name":"Picocli","description":"Build command line applications with picocli.","versionRange":"[2.4.0.RELEASE,3.0.0-M1)","_links":{"reference":{"href":"https://picocli.info/#_spring_boot_example"}}},{"id":"spring-shell","name":"Spring Shell","description":"Build command line applications with spring.","versionRange":"[2.7.0,3.1.0-M1)","_links":{"reference":{"href":"https://spring.io/projects/spring-shell"}}}]}]},"type":{"type":"action","default":"maven-project","values":[{"id":"maven-project","name":"Maven Project","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"}},{"id":"gradle-project","name":"Gradle Project","description":"Generate a Gradle based project archive.","action":"/starter.zip","tags":{"build":"gradle","format":"project"}},{"id":"gradle-build","name":"Gradle Config","description":"Generate a Gradle build file.","action":"/build.gradle","tags":{"build":"gradle","format":"build"}}]},"architecture":{"type":"single-select","default":"none","values":[{"id":"none","name":"Single Module"},{"id":"dubbo","name":"Multi Modules"}]},"packaging":{"type":"single-select","default":"jar","values":[{"id":"jar","name":"Jar"},{"id":"war","name":"War"}]},"javaVersion":{"type":"single-select","default":"1.8","values":[{"id":"21","name":"21"},{"id":"17","name":"17"},{"id":"11","name":"11"},{"id":"1.8","name":"8"}]},"language":{"type":"single-select","default":"java","values":[{"id":"java","name":"Java"}]},"bootVersion":{"type":"single-select","default":"2.7.10","values":[{"id":"3.1.2","name":"3.1.2 (requires jdk 17)"},{"id":"2.7.10","name":"2.7.10"}]},"dubboVersion":{"type":"single-select","default":"3.3.0","values":[{"id":"3.3.0","name":"3.3.0"},{"id":"3.2.16","name":"3.2.16"},{"id":"3.1.11","name":"3.1.11"}]},"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 Apache Dubbo"},"packageName":{"type":"text","default":"com.example.demo"}}