MCPcopy Index your code
hub / github.com/awspring/spring-cloud-aws

github.com/awspring/spring-cloud-aws @v4.0.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.0.2 ↗ · + Follow
6,281 symbols 24,627 edges 737 files 1,239 documented · 20% 1 cross-repo links
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Spring Cloud AWS

Open in Gitpod

Spring Cloud AWS simplifies using AWS managed services in a Spring and Spring Boot applications.

For a deep dive into the project, refer to the Spring Cloud AWS documentation:

Version Reference Docs API Docs
Spring Cloud AWS 4.0.0 Reference Docs API Docs
Spring Cloud AWS 3.4.2 Reference Docs API Docs
Spring Cloud AWS 3.4.1 Reference Docs API Docs
Spring Cloud AWS 3.4.0 Reference Docs API Docs
Spring Cloud AWS 3.3.1 Reference Docs API Docs
Spring Cloud AWS 3.2.1 Reference Docs API Docs
Spring Cloud AWS 3.1.1 Reference Docs API Docs
Spring Cloud AWS 3.0.4 Reference Docs API Docs
Spring Cloud AWS 2.4.4 Reference Docs API Docs
Spring Cloud AWS 2.3.5 Reference Docs API Docs

Sponsors

Big thanks to LocalStack for providing PRO licenses to the development team!

Compatibility with Spring Project Versions

This project has dependency and transitive dependencies on Spring Projects. The table below outlines the versions of Spring Cloud, Spring Boot and Spring Framework versions that are compatible with certain Spring Cloud AWS version.

Spring Cloud AWS Spring Cloud Spring Boot Spring Framework AWS Java SDK
2.3.x (maintenance mode) 2020.0.x (3.0/Illford) 2.4.x, 2.5.x 5.3.x 1.x
2.4.x (maintenance mode) 2021.0.x (3.1/Jubilee) 2.6.x, 2.7.x 5.3.x 1.x
3.0.x 2022.0.x (4.0/Kilburn) 3.0.x, 3.1.x 6.0.x 2.x
3.1.x 2023.0.x (4.0/Kilburn) 3.2.x 6.1.x 2.x
3.2.x 2023.0.x (4.0/Kilburn) 3.2.x, 3.3.x 6.1.x 2.x
3.3.x 2024.0.x 3.4.x 6.2.x 2.x
3.4.x 2025.0.x 3.5.x 6.2.x 2.x
4.x.x 2025.1.x 4.0.x 7.0.x 2.x
Note: 3.0.0-M2 is the last version compatible with Spring Boot 2.7.x and Spring Cloud 3.1. Starting from 3.0.0-M3, project has switched to Spring Boot 3.0.
Note: 3.4.x is the last version compatible with Spring Boot 3.5.x and spring cloud 2025.0.x

Supported AWS integrations

AWS Service Spring Cloud AWS 2.x Spring Cloud AWS 3.x Spring Cloud AWS 4.x
S3
SNS
SES
Parameter Store
Secrets Manager
SQS
RDS
EC2
ElastiCache
CloudFormation
CloudWatch
Cognito Covered by Spring Boot Covered by Spring Boot
DynamoDB
Spring integration AWS
Spring cloud Stream Binder for Kinesis

Note, that Spring provides support for other AWS services in following projects:

Getting in touch

Or reach out directly to individual team members:

Extension points exported contracts — how you extend this code

LocalstackContainerTest (Interface)
The base contract for JUnit tests based on the container for Localstack. The Testcontainers 'reuse' option must be disab [6 …
spring-cloud-aws-s3/src/test/java/io/awspring/cloud/s3/LocalstackContainerTest.java
TaskExecutorAware (Interface)
Enables a class to receive a container managed TaskExecutor. @author Tomaz Fernandes @since 3.0 [9 implementers]
spring-cloud-aws-sqs/src/main/java/io/awspring/cloud/sqs/listener/TaskExecutorAware.java
TopicArnResolver (Interface)
Resolves topic ARN by name. @author Matej Nedic [10 implementers]
spring-cloud-aws-sns/src/main/java/io/awspring/cloud/sns/core/TopicArnResolver.java
LocalstackContainerTest (Interface)
The base contract for JUnit tests based on the container for Localstack. The Testcontainers 'reuse' option must be disab [8 …
spring-cloud-aws-kinesis/src/test/java/io/awspring/cloud/kinesis/LocalstackContainerTest.java
DynamoDbTableSchemaResolver (Interface)
Resolving table schema and table name from a class. @author Matej Nedic @author Maciej Walkowiak @since 3.0 [11 implementers]
spring-cloud-aws-dynamodb/src/main/java/io/awspring/cloud/dynamodb/DynamoDbTableSchemaResolver.java
AwsClientFactory (Interface)
Provides convenient way to construct AWS SDK clients. @author Maciej Walkowiak @since 3.2.0 [10 implementers]
spring-cloud-aws-testcontainers/src/main/java/io/awspring/cloud/testcontainers/AwsClientFactory.java
LocalstackContainerTest (Interface)
The base contract for JUnit tests based on the container for Localstack. The Testcontainers 'reuse' option must be disab [5 …
spring-cloud-aws-kinesis-stream-binder/src/test/java/io/awspring/cloud/kinesis/stream/binder/LocalstackContainerTest.java
SecretValueReader (Interface)
Wrapper interface which should be implemented to either read secret with Jackson 2 or Jackson 3. @author Maciej Walkowi [5 …
spring-cloud-aws-secrets-manager/src/main/java/io/awspring/cloud/secretsmanager/SecretValueReader.java

Core symbols most depended-on inside this repo

build
called by 1016
spring-cloud-aws-sqs/src/main/java/io/awspring/cloud/sqs/operations/SqsTemplateBuilder.java
get
called by 624
spring-cloud-aws-sqs/src/main/java/io/awspring/cloud/sqs/LifecycleHandler.java
builder
called by 376
spring-cloud-aws-s3/src/main/java/io/awspring/cloud/s3/ObjectMetadata.java
getHeaders
called by 329
spring-cloud-aws-sns/src/main/java/io/awspring/cloud/sns/core/SnsNotification.java
of
called by 286
spring-cloud-aws-s3/src/main/java/io/awspring/cloud/s3/Location.java
builder
called by 217
spring-cloud-aws-sqs/src/main/java/io/awspring/cloud/sqs/config/SqsEndpoint.java
getBean
called by 205
spring-cloud-aws-sqs/src/main/java/io/awspring/cloud/sqs/config/AbstractEndpoint.java
then
called by 173
spring-cloud-aws-sqs/src/main/java/io/awspring/cloud/sqs/listener/pipeline/MessageProcessingPipelineBuilder.java

Shape

Method 5,191
Class 960
Interface 104
Enum 26

Languages

Java100%

Modules by API surface

spring-cloud-aws-sqs/src/test/java/io/awspring/cloud/sqs/integration/SqsPayloadTypeInferenceIntegrationTests.java106 symbols
spring-cloud-aws-sqs/src/main/java/io/awspring/cloud/sqs/operations/SqsTemplate.java96 symbols
spring-cloud-aws-kinesis/src/main/java/io/awspring/cloud/kinesis/integration/KinesisMessageDrivenChannelAdapter.java92 symbols
spring-cloud-aws-sqs/src/test/java/io/awspring/cloud/sqs/integration/SqsIntegrationTests.java89 symbols
spring-cloud-aws-sqs/src/test/java/io/awspring/cloud/sqs/config/DefaultMethodPayloadTypeInferrerTest.java80 symbols
spring-cloud-aws-s3/src/main/java/io/awspring/cloud/s3/ObjectMetadata.java66 symbols
spring-cloud-aws-sqs/src/test/java/io/awspring/cloud/sqs/integration/SqsFifoIntegrationTests.java64 symbols
spring-cloud-aws-sqs/src/test/java/io/awspring/cloud/sqs/integration/SqsMessageConversionIntegrationTests.java61 symbols
spring-cloud-aws-kinesis/src/main/java/io/awspring/cloud/kinesis/integration/KclMessageDrivenChannelAdapter.java59 symbols
spring-cloud-aws-sqs/src/test/java/io/awspring/cloud/sqs/integration/SqsErrorHandlerIntegrationTests.java58 symbols
spring-cloud-aws-sqs/src/main/java/io/awspring/cloud/sqs/operations/AbstractMessagingTemplate.java57 symbols
spring-cloud-aws-sqs/src/main/java/io/awspring/cloud/sqs/listener/AbstractContainerOptions.java47 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

For agents

$ claude mcp add spring-cloud-aws \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact