Spring
Why Spring
Overview Microservices Reactive Event Driven Cloud Web Applications Serverless Batch
Learn
Overview Quickstart Guides Blog
Projects
Overview Spring Boot Spring Framework Spring Cloud Spring Cloud Data Flow Spring Data Spring Integration Spring Batch Spring Security View all projects Spring Tools 4 Spring Initializr
Training Support
Community
Overview Events Team

Spring Boot Documentation

    • Legal
    • Getting Help
    • Documentation Overview
      • First Steps
      • Upgrading From an Earlier Version
      • Developing With Spring Boot
      • Learning About Spring Boot Features
      • Web
      • Data
      • Messaging
      • IO
      • Container Images
      • Moving to Production
      • GraalVM Native Images
      • Advanced Topics
    • Getting Started
      • Introducing Spring Boot
      • System Requirements
      • Installing Spring Boot
      • Developing Your First Spring Boot Application
      • What to Read Next
    • Upgrading Spring Boot
      • Upgrading From 1.x
      • Upgrading to a New Feature Release
      • Upgrading the Spring Boot CLI
      • What to Read Next
    • Developing with Spring Boot
      • Build Systems
      • Structuring Your Code
      • Configuration Classes
      • Auto-configuration
      • Spring Beans and Dependency Injection
      • Using the @SpringBootApplication Annotation
      • Running Your Application
      • Developer Tools
      • Packaging Your Application for Production
      • What to Read Next
    • Core Features
      • SpringApplication
        • Startup Failure
        • Lazy Initialization
        • Customizing the Banner
        • Customizing SpringApplication
        • Fluent Builder API
        • Application Availability
        • Application Events and Listeners
        • Web Environment
        • Accessing Application Arguments
        • Using the ApplicationRunner or CommandLineRunner
        • Application Exit
        • Admin Features
        • Application Startup tracking
      • Externalized Configuration
        • Accessing Command Line Properties
        • JSON Application Properties
        • External Application Properties
          • Optional Locations
          • Wildcard Locations
          • Profile Specific Files
          • Importing Additional Data
          • Importing Extensionless Files
          • Using Configuration Trees
          • Property Placeholders
          • Working With Multi-Document Files
          • Activation Properties
        • Encrypting Properties
        • Working With YAML
        • Configuring Random Values
        • Configuring System Environment Properties
        • Type-safe Configuration Properties
          • JavaBean Properties Binding
          • Constructor Binding
          • Enabling @ConfigurationProperties-annotated Types
          • Using @ConfigurationProperties-annotated Types
          • Third-party Configuration
          • Relaxed Binding
          • Merging Complex Types
          • Properties Conversion
          • @ConfigurationProperties Validation
          • @ConfigurationProperties vs. @Value
      • Profiles
      • Logging
        • Log Format
        • Console Output
        • File Output
        • File Rotation
        • Log Levels
        • Log Groups
        • Using a Log Shutdown Hook
        • Custom Log Configuration
        • Logback Extensions
        • Log4j2 Extensions
      • Internationalization
      • JSON
      • Task Execution and Scheduling
      • Testing
        • Test Scope Dependencies
        • Testing Spring Applications
        • Testing Spring Boot Applications
          • Detecting Web Application Type
          • Detecting Test Configuration
          • Using the Test Configuration Main Method
          • Excluding Test Configuration
          • Using Application Arguments
          • Testing With a Mock Environment
          • Testing With a Running Server
          • Customizing WebTestClient
          • Using JMX
          • Using Metrics
          • Using Tracing
          • Mocking and Spying Beans
          • Auto-configured Tests
          • Auto-configured JSON Tests
          • Auto-configured Spring MVC Tests
          • Auto-configured Spring WebFlux Tests
          • Auto-configured Spring GraphQL Tests
          • Auto-configured Data Cassandra Tests
          • Auto-configured Data Couchbase Tests
          • Auto-configured Data Elasticsearch Tests
          • Auto-configured Data JPA Tests
          • Auto-configured JDBC Tests
          • Auto-configured Data JDBC Tests
          • Auto-configured jOOQ Tests
          • Auto-configured Data MongoDB Tests
          • Auto-configured Data Neo4j Tests
          • Auto-configured Data Redis Tests
          • Auto-configured Data LDAP Tests
          • Auto-configured REST Clients
          • Auto-configured Spring REST Docs Tests
          • Auto-configured Spring Web Services Tests
          • Additional Auto-configuration and Slicing
          • User Configuration and Slicing
          • Using Spock to Test Spring Boot Applications
        • Test Utilities
      • Creating Your Own Auto-configuration
        • Understanding Auto-configured Beans
        • Locating Auto-configuration Candidates
        • Condition Annotations
        • Testing your Auto-configuration
        • Creating Your Own Starter
      • Kotlin Support
      • What to Read Next
    • Web
      • Servlet Web Applications
        • The “Spring Web MVC Framework”
        • JAX-RS and Jersey
        • Embedded Servlet Container Support
      • Reactive Web Applications
        • The “Spring WebFlux Framework”
        • Embedded Reactive Server Support
        • Reactive Server Resources Configuration
      • Graceful Shutdown
      • Spring Security
        • MVC Security
        • WebFlux Security
        • OAuth2
        • SAML 2.0
      • Spring Session
      • Spring for GraphQL
      • Spring HATEOAS
      • What to Read Next
    • Data
      • SQL Databases
        • Configure a DataSource
        • Using JdbcTemplate
        • JPA and Spring Data JPA
        • Spring Data JDBC
        • Using H2’s Web Console
        • Using jOOQ
        • Using R2DBC
      • Working with NoSQL Technologies
        • Redis
        • MongoDB
        • Neo4j
        • Elasticsearch
        • Cassandra
        • Couchbase
        • LDAP
        • InfluxDB
      • What to Read Next
    • Messaging
      • JMS
      • AMQP
      • Apache Kafka Support
      • RSocket
      • Spring Integration
      • WebSockets
      • What to Read Next
    • IO
      • Caching
        • Supported Cache Providers
      • Hazelcast
      • Quartz Scheduler
      • Sending Email
      • Validation
      • Calling REST Services
        • RestTemplate
        • WebClient
      • Web Services
      • Distributed Transactions With JTA
      • What to Read Next
    • Container Images
      • Efficient Container Images
      • Dockerfiles
      • Cloud Native Buildpacks
      • What to Read Next
    • Production-ready Features
      • Enabling Production-ready Features
      • Endpoints
        • Enabling Endpoints
        • Exposing Endpoints
        • Security
        • Configuring Endpoints
        • Hypermedia for Actuator Web Endpoints
        • CORS Support
        • Implementing Custom Endpoints
        • Health Information
        • Kubernetes Probes
        • Application Information
      • Monitoring and Management Over HTTP
      • Monitoring and Management over JMX
      • Observability
      • Loggers
      • Metrics
        • Getting started
        • Supported Monitoring Systems
        • Supported Metrics and Meters
        • Registering Custom Metrics
        • Customizing Individual Metrics
        • Metrics Endpoint
        • Integration with Micrometer Observation
      • Tracing
      • Auditing
      • Recording HTTP Exchanges
      • Process Monitoring
      • Cloud Foundry Support
      • What to Read Next
    • Deploying Spring Boot Applications
      • Deploying to the Cloud
      • Installing Spring Boot Applications
        • Supported Operating Systems
        • Unix/Linux Services
        • Microsoft Windows Services
      • What to Read Next
    • GraalVM Native Image Support
      • Introducing GraalVM Native Images
      • Developing Your First GraalVM Native Application
      • Testing GraalVM Native Images
      • Advanced Native Images Topics
      • What to Read Next
    • Spring Boot CLI
      • Installing the CLI
      • Using the CLI
    • Build Tool Plugins
      • Spring Boot Maven Plugin
      • Spring Boot Gradle Plugin
      • Spring Boot AntLib Module
      • Supporting Other Build Systems
      • What to Read Next
    • “How-to” Guides
      • Spring Boot Application
      • Properties and Configuration
      • Embedded Web Servers
        • Use Another Web Server
        • Disabling the Web Server
        • Change the HTTP Port
        • Use a Random Unassigned HTTP Port
        • Discover the HTTP Port at Runtime
        • Enable HTTP Response Compression
        • Configure SSL
        • Configure HTTP/2
        • Configure the Web Server
        • Add a Servlet, Filter, or Listener to an Application
        • Configure Access Logging
        • Running Behind a Front-end Proxy Server
        • Enable Multiple Connectors with Tomcat
        • Enable Tomcat’s MBean Registry
        • Enable Multiple Listeners with Undertow
        • Create WebSocket Endpoints Using @ServerEndpoint
      • Spring MVC
      • Jersey
      • HTTP Clients
      • Logging
      • Data Access
        • Configure a Custom DataSource
        • Configure Two DataSources
        • Use Spring Data Repositories
        • Separate @Entity Definitions from Spring Configuration
        • Configure JPA Properties
        • Configure Hibernate Naming Strategy
        • Configure Hibernate Second-Level Caching
        • Use Dependency Injection in Hibernate Components
        • Use a Custom EntityManagerFactory
        • Using Multiple EntityManagerFactories
        • Use a Traditional persistence.xml File
        • Use Spring Data JPA and Mongo Repositories
        • Customize Spring Data’s Web Support
        • Expose Spring Data Repositories as REST Endpoint
        • Configure a Component that is Used by JPA
        • Configure jOOQ with Two DataSources
      • Database Initialization
      • NoSQL
      • Messaging
      • Batch Applications
      • Actuator
      • Security
      • Hot Swapping
      • Testing
      • Build
      • Traditional Deployment
    • Appendix
      • Common Application Properties
      • Configuration Metadata
        • Metadata Format
        • Providing Manual Hints
        • Generating Your Own Metadata by Using the Annotation Processor
      • Auto-configuration Classes
        • spring-boot-autoconfigure
        • spring-boot-actuator-autoconfigure
      • Test Auto-configuration Annotations
        • Test Slices
      • The Executable Jar Format
        • Nested JARs
        • Spring Boot’s “JarFile” Class
        • Launching Executable Jars
        • PropertiesLauncher Features
        • Executable Jar Restrictions
        • Alternative Single Jar Solutions
      • Dependency Versions
        • Managed Dependency Coordinates
        • Version Properties
Spring Boot Documentation 3.1.0-SNAPSHOT
  • Spring Boot Documentation
  • Spring Boot Documentation
  • Web
  • Reactive Web Applications
Edit this Page

Reactive Web Applications

Spring Boot simplifies development of reactive web applications by providing auto-configuration for Spring Webflux.

Section Summary

  • The “Spring WebFlux Framework”
  • Embedded Reactive Server Support
  • Reactive Server Resources Configuration
Embedded Servlet Container Support The “Spring WebFlux Framework”
Spring

© VMware, Inc. or its affiliates. Terms of Use • Privacy • Trademark Guidelines • Thank you • Your California Privacy Rights • Cookie Settings

Apache®, Apache Tomcat®, Apache Kafka®, Apache Cassandra™, and Apache Geode™ are trademarks or registered trademarks of the Apache Software Foundation in the United States and/or other countries. Java™, Java™ SE, Java™ EE, and OpenJDK™ are trademarks of Oracle and/or its affiliates. Kubernetes® is a registered trademark of the Linux Foundation in the United States and other countries. Linux® is the registered trademark of Linus Torvalds in the United States and other countries. Windows® and Microsoft® Azure are registered trademarks of Microsoft Corporation. “AWS” and “Amazon Web Services” are trademarks or registered trademarks of Amazon.com Inc. or its affiliates. All other trademarks and copyrights are property of their respective owners and are only mentioned for informative purposes. Other names may be trademarks of their respective owners.