Our great sponsors
-
serverless-java-container
A Java wrapper to run Spring, Spring Boot, Jersey, and other apps inside AWS Lambda.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
For the sake of explanation we'll use our Spring Boot 3.2 sample application and use Java 21 runtime for our Lambda functions.
The key dependency to make it work and translate between Spring Boot 3 (web annotation) model and AWS Lambda is the dependency to the artifact aws-serverless-java-container-springboot3 defined in the pom.xml. It's based on Serverless Java Container which natively supports API Gateway's proxy integration models for requests and responses, and we can create and inject custom models for methods that use custom mappings.
If we look into the whole dependency tree, we'll discover another dependency spring-cloud-function-serverless-web which aws-serverless-java-container-springboot3 requires which is the collaboration effort between Spring and AWS Serverless developers. It provides Spring Cloud Function on AWS Lambda functionallity. We'll look deeper into the capabilities of Spring Cloud Function on AWS Lambda in one of my upcoming articles.
Related posts
- Spring Boot 3 application on AWS Lambda - Part 2 Introduction to AWS Serverless Java Container
- A beginner's guide to AWS Best Practices
- Why doesn't blizzard use dynamic server scaling?
- Building a Greener Cloud: The Role of an Architect for Sustainability in AWS
- Expert talk: Cloud Native & Serverless • Matt Turner & Eric Johnson