Spring Integration is an integration framework for Java that supports developing applications based on Enterprise Integration Patterns using pipelines of out-of-the-box components. Components interact by passing messages between endpoints through communication channels. Channels connect endpoints and can be defined as Spring beans. Endpoints include adapters, gateways, routers, filters, transformers, splitters and aggregators that process messages.