mirror of
https://github.com/spring-projects/spring-boot.git
synced 2026-09-17 12:09:16 +00:00
This commit moves the spring-web dependency from implementation to optional. It also adds an api dependency to spring-web in the rsocket starter. The reasoning behind this change is that RSocket can be used without spring-web, and we want to make sure that consumers of the dependency can achieve that goal, as they were able to in previous versions. However, we believe that most RSocket-based applications need spring-web as, without it, only the simple and not efficient implementation of RouterMatcher is available. With the addition of exception handling using ControllerAdvice, this change makes also sure that it works out of the box with the starter. Closes gh-47409
= Starters Spring Boot Starters are a set of convenient dependency descriptors that you can include in your application. You get a one-stop-shop for all the Spring and related technology that you need without having to hunt through sample code and copy paste loads of dependency descriptors. For example, if you want to get started using Spring and JPA for database access include the `spring-boot-starter-data-jpa` dependency in your project, and you are good to go. For complete details see the https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-starter[reference documentation] == Community Contributions If you create a starter for a technology that is not already in the standard list we can list it here. To ask us to do so, please open a pull request that updates this page. WARNING: While the https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-starter[reference documentation] mentions that 3rd party starters should not start with `spring-boot`, some starters do as they were designed before this was clarified. |=== | Name | Location | AOProfiling (Aspect-oriented profiling) | https://github.com/rechnerherz/aoprofiling-spring-boot-starter | https://camel.apache.org/camel-spring-boot/latest/spring-boot.html[Apache Camel] | https://github.com/apache/camel-spring-boot | https://cxf.apache.org/docs/springboot.html[Apache CXF] | https://github.com/apache/cxf | https://qpid.apache.org/components/jms/[Apache Qpid] | https://github.com/amqphub/amqp-10-jms-spring-boot | https://wicket.apache.org/[Apache Wicket] | https://github.com/MarcGiffing/wicket-spring-boot | https://arangodb.com/[ArangoDB] | https://github.com/arangodb/spring-boot-starter | https://line.github.io/armeria/[Armeria] | https://github.com/line/armeria/ | https://axoniq.io[Axon Framework] | https://github.com/AxonFramework/AxonFramework | https://azure.microsoft.com/[Azure] | https://github.com/Microsoft/azure-spring-boot-starters | https://github.com/bitcoin/bitcoin[Bitcoin] | https://github.com/theborakompanioni/bitcoin-spring-boot-starter | https://github.com/vladimir-bukhtoyarov/bucket4j/[Bucket4j] | https://github.com/MarcGiffing/bucket4j-spring-boot-starter | https://camunda.org/[Camunda BPM] | https://github.com/camunda/camunda-bpm-spring-boot-starter | https://casdoor.org/[Casdoor] | https://github.com/casdoor/casdoor-spring-boot-starter | Charon reverse proxy | https://github.com/mkopylec/charon-spring-boot-starter | https://cloudant.com/[Cloudant] | https://github.com/icha024/cloudant-spring-boot-starter | https://www.couchbase.com/[Couchbase] HTTP session | https://github.com/mkopylec/session-couchbase-spring-boot-starter | https://dapr.io[Dapr] | https://github.com/dapr/java-sdk/ | DataSource decorating (https://github.com/p6spy/p6spy[P6Spy], https://github.com/ttddyy/datasource-proxy[datasource-proxy], https://github.com/vladmihalcea/flexy-pool[FlexyPool]) | https://github.com/gavlyukovskiy/spring-boot-data-source-decorator | https://github.com/Allurx/desensitization[desensitization] | https://github.com/Allurx/desensitization-spring-boot | https://github.com/docker-java/docker-java/[Docker Java] and https://github.com/spotify/docker-client/[Docker Client] | https://github.com/jliu666/docker-api-spring-boot | https://dozermapper.github.io/[Dozer] | https://github.com/DozerMapper/dozer | Elegant Error Handling for Spring Boot | https://github.com/alimate/errors-spring-boot-starter | https://elide.io/[Elide] | https://github.com/yahoo/elide/tree/master/elide-spring/elide-spring-boot-starter | https://github.com/flapdoodle-oss/de.flapdoodle.embed.mongo[Embedded MongoDB] | https://github.com/flapdoodle-oss/de.flapdoodle.embed.mongo.spring | ErroREST exception handler | https://github.com/mkopylec/errorest-spring-boot-starter | Error Handling Spring Boot Starter | https://github.com/wimdeblauwe/error-handling-spring-boot-starter | https://societe-generale.github.io/failover/[Failover] | https://github.com/societe-generale/failover | https://www.flowable.org/[Flowable] | https://github.com/flowable/flowable-engine/tree/master/modules/flowable-spring-boot/flowable-spring-boot-starters | https://www.google.com/recaptcha[Google's reCAPTCHA] | https://github.com/mkopylec/recaptcha-spring-boot-starter | https://graphql.org/[GraphQL] and https://github.com/graphql/graphiql[GraphiQL] with https://github.com/graphql-java/[GraphQL Java] | https://github.com/graphql-java-kickstart/graphql-spring-boot | https://javaee.github.io/grizzly/[Grizzly] | https://github.com/dabla/grizzly-spring-boot-starter | https://www.grpc.io/[gRPC] | https://github.com/LogNet/grpc-spring-boot-starter & https://github.com/yidongnan/grpc-spring-boot-starter & https://github.com/DanielLiu1123/grpc-starter | https://ha-jdbc.github.io/[HA JDBC] | https://github.com/lievendoclo/hajdbc-spring-boot | https://github.com/jknack/handlebars.java[Handlebars] | https://github.com/allegro/handlebars-spring-boot-starter | https://hdiv.org/[HDIV] | https://github.com/hdiv/spring-boot-starter-hdiv | Hiatus for Spring Boot | https://github.com/jihor/hiatus-spring-boot | https://www.hyperledger.org/use/fabric[Hyperledger Fabric] | https://github.com/bxforce/hyperledger-fabric-spring-boot | https://www.ibm.com/products/mq[IBM MQ] | https://github.com/ibm-messaging/mq-jms-spring | https://github.com/neuland/jade4j[Jade Templates] (Jade4J) | https://github.com/domix/jade4j-spring-boot-starter | https://github.com/javamelody/javamelody/wiki[JavaMelody] monitoring | https://github.com/javamelody/javamelody/wiki/SpringBootStarter | https://javers.org[JaVers] | https://github.com/javers/javers | https://www.jobrunr.io[JobRunr] | https://github.com/jobrunr/jobrunr | https://github.com/sbraconnier/jodconverter[JODConverter] | https://github.com/sbraconnier/jodconverter | JSF integration for various libraries | https://github.com/joinfaces/joinfaces | https://kogito.kie.org/[Kogito] | https://github.com/kiegroup/kogito-runtimes/tree/main/springboot/starters | https://github.com/langchain4j/langchain4j[LangChain for Java] | https://github.com/langchain4j/langchain4j/tree/main/langchain4j-spring-boot-starter | https://www.liquigraph.org/[Liquigraph] | https://github.com/liquigraph/liquigraph | https://logback.qos.ch/access.html[Logback-access] | https://github.com/akkinoc/logback-access-spring-boot-starter | https://github.com/dmitrysulman/logback-access-reactor-netty[Logback-access Reactor Netty] | https://github.com/dmitrysulman/logback-access-reactor-netty | https://github.com/mulesoft/mule[Mule 4] | https://github.com/hawkore/mule4-spring-boot-starter | https://github.com/mybatis/mybatis-3[MyBatis] | https://github.com/mybatis/mybatis-spring-boot | https://github.com/jbosstm/narayana[Narayana] | https://github.com/snowdrop/narayana-spring-boot | https://developer.nexmo.com/[Nexmo] | https://github.com/nexmo/nexmo-spring-boot-starter | https://github.com/nostr-protocol/nostr[Nostr] | https://github.com/theborakompanioni/nostr-spring-boot-starter | https://github.com/nutzam/nutz[Nutz] | https://github.com/nutzam/nutzmore | https://groupe-sii.github.io/ogham/[Ogham] | https://github.com/groupe-sii/ogham/tree/master/ogham-spring-boot-starter-all, https://github.com/groupe-sii/ogham/tree/master/ogham-spring-boot-starter-email, and https://github.com/groupe-sii/ogham/tree/master/ogham-spring-boot-starter-sms | https://square.github.io/okhttp/[OkHttp] | https://github.com/freefair/okhttp-spring-boot | https://developer.okta.com/[Okta] | https://github.com/okta/okta-spring-boot | https://opentelemetry.io/docs/languages/java/automatic/spring-boot/#opentelemetry-spring-boot-starter[OpenTelemetry] | https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/spring/starters/spring-boot-starter | https://www.optaplanner.org/[OptaPlanner] | https://github.com/kiegroup/optaplanner/tree/master/optaplanner-spring-integration/optaplanner-spring-boot-starter | https://spring.coherence.community/3.0.0/refdocs/reference/html/spring-boot.html[Oracle Coherence] | https://github.com/coherence-community/coherence-spring/tree/main/coherence-spring-boot-starter | https://www.oracle.com/database/[Oracle Database] | https://github.com/oracle/microservices-datadriven/tree/main/spring/oracle-spring-boot-starters | https://orika-mapper.github.io/orika-docs/[Orika] | https://github.com/akihyro/orika-spring-boot-starter | https://pebbletemplates.io/[Pebble Templates] | https://github.com/PebbleTemplates/pebble | https://picocli.info/[picocli] | https://github.com/remkop/picocli/tree/master/picocli-spring-boot-starter | https://www.quickfixj.org/[quickfixj] | https://github.com/gevoulga/spring-boot-quickfixj | https://www.rabbitmq.com/[RabbitMQ] (Advanced usage) | https://github.com/societe-generale/rabbitmq-advanced-spring-boot-starter | https://www.rabbitmq.com/[RabbitMQ] (Declarative configuration) | https://github.com/EugeneMsv/amqp-rabbit-spring-boot-autoconfigure | https://resteasy.jboss.org/[RESTEasy] | https://github.com/resteasy/resteasy-spring-boot | https://github.com/rollbar/rollbar-java/[Rollbar] | https://github.com/olmero/rollbar-spring-boot-starter | https://sentry.io[Sentry] | https://github.com/getsentry/sentry-java/tree/master/sentry-spring-boot-starter | SOAP Web Services support with Apache CXF | https://github.com/codecentric/cxf-spring-boot-starter | https://projects.spring.io/spring-batch/[Spring Batch] (Advanced usage) | https://github.com/codecentric/spring-boot-starter-batch-web | https://docs.spring.io/spring-framework/reference/integration/rest-clients.html#rest-http-service-client[Spring Http Service Client] | https://github.com/DanielLiu1123/httpexchange-spring-boot-starter | https://projects.spring.io/spring-shell/[Spring Shell] | https://github.com/fonimus/ssh-shell-spring-boot | https://github.com/savantly-net/sprout-platform[Sprout Platform] | https://github.com/savantly-net/sprout-platform/tree/master/backend/starters/sprout-spring-boot-starter | SSH Daemon | https://github.com/anand1st/sshd-shell-spring-boot | https://github.com/stripe/stripe-java[Stripe API] | https://github.com/pankajtandon/stripe-starter | https://github.com/StripesFramework/stripes[Stripes] | https://github.com/juanpablo-santos/stripes-spring-boot | https://github.com/structurizr/java[Structurizr] | https://github.com/Catalysts/structurizr-extensions | https://docs.styra.com/das/systems/springboot/[Styra DAS] (https://www.openpolicyagent.org/[OPA]) | https://github.com/styrainc/opa-springboot | https://www.torproject.org/[Tor] | https://github.com/theborakompanioni/tor-spring-boot-starter | https://vaadin.com/[Vaadin] | https://github.com/vaadin/platform/tree/master/vaadin-spring-boot-starter | https://github.com/valiktor/valiktor[Valiktor] | https://github.com/valiktor/valiktor/tree/master/valiktor-spring/valiktor-spring-boot-starter | https://github.com/Yubico/java-webauthn-server[WebAuthn] | https://github.com/mihaita-tinta/webauthn-spring-boot-starter | https://github.com/tomakehurst/wiremock[WireMock] and Spring REST Docs | https://github.com/ePages-de/restdocs-wiremock | https://alexo.github.io/wro4j/[Wro4j] | https://github.com/michael-simons/wro4j-spring-boot-starter | https://github.com/knowm/XChange[XChange] | https://github.com/cassandre-tech/cassandre-trading-bot |===