Skip to content
AWS docs0.4

AWS Spring Boot Integration

Latest stable Based on AWS release 0.4.0

Library manual grounded in the 0.4.0 release source.

Spring Boot 4 auto-configuration, coroutine templates, repositories, listeners, configuration sources, and Micrometer instrumentation for selected AWS services.

Use it when Spring should own AWS clients and application-facing templates while the application keeps explicit control of service SDK dependencies.

Applications select one central BOM version.

dependencies {
implementation(platform("io.github.bluetape4k:bluetape4k-dependencies:<version>"))
implementation("io.github.bluetape4k.aws:bluetape4k-aws-spring-boot")
}

AWS service SDKs follow a compileOnly policy; add the services actually used as runtime dependencies.

Conditional auto-configurations back off when a service SDK is absent. Properties customize region, endpoint, credentials, and service behavior; templates expose suspend operations; listener containers own background jobs.

@Service
class ObjectStore(private val s3: S3Operations) {
suspend fun put(bucket: String, key: String, bytes: ByteArray) =
s3.upload(bucket, key, bytes)
}

S3 and Transfer Manager, DynamoDB repositories and DAX, SQS listener/runtime, SNS, SES, KMS, CloudWatch, IMDS, Secrets Manager, Parameter Store, S3 Access Grants/Vectors, and Exposed.

Put client and background-job ownership at one application boundary. Configure region, credentials, and endpoints once instead of rebuilding them per call.

Import the central BOM, add this library without a version, then add only software.amazon.awssdk:<service> modules used by enabled auto-configurations.

Use the bluetape4k.aws property namespace, endpoint overrides for emulators, and customizer beans when client-builder control must stay in application code.

Most missing-bean failures mean the service SDK is absent or a condition did not match. SQS visibility, listener concurrency, payload conversion, and shutdown timeouts require explicit tuning.

Expose Micrometer metrics, make listener acknowledgement policy explicit, close custom clients, and keep environment property-source calls out of request paths.

Use ApplicationContextRunner for conditional beans and Floci-backed integration tests for enabled services. Test listener shutdown and redelivery, not only successful sends.

Read auto-configuration, then storage-and-messaging, then runtime-operations; run the four released Spring Boot examples.

This is not awspring and does not enable every AWS service automatically. Optional integrations remain absent until their classes and properties are present.

These diagrams are loaded directly from README assets published with the 0.4.0 release and pinned to its immutable commit. They describe this manual’s released structure and runtime flows, not later Snapshot changes. Select a preview to open the SVG at the same release commit.

AWS Spring Boot architecture diagram

Release README: aws-spring-boot/README.md

AWS Spring Boot configuration flow diagram

Section titled “AWS Spring Boot configuration flow diagram”

AWS Spring Boot configuration flow diagram

Release README: aws-spring-boot/README.md

AWS Spring Boot SQS listener sequence diagram

Section titled “AWS Spring Boot SQS listener sequence diagram”

AWS Spring Boot SQS listener sequence diagram

Release README: aws-spring-boot/README.md