

# AWS Lambda 的 Java 示例应用程序
<a name="java-samples"></a>

本指南的 GitHub 存储库提供了演示如何在 AWS Lambda 使用 Java 的示例应用程序。每个示例应用程序都包含用于轻松部署和清理的脚本、一个 CloudFormation 模板和支持资源。

**Java 中的 Lambda 应用程序示例**
+ [example-java](https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/example-java) – 一个 Java 函数，演示如何使用 Lambda 来处理顺序。此函数说明了如何定义和反序列化自定义输入事件对象，如何使用 AWS SDK 和输出日志记录。
+ [java-basic](https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/java-basic) – 具有单元测试和变量日志记录配置的最小 Java 函数的集合。
+ [java-events](https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/java-events) – Java 函数的集合，其中包含用于处理来自 Amazon API Gateway、Amazon SQS 和 Amazon Kinesis 等各种服务的事件的框架代码。这些函数使用最新版本的 [aws-lambda-events](java-package.md) 库（3.0.0 及更新版本）。这些示例不需要 AWS 开发工具包作为依赖项。
+ [s3-java](https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/s3-java) – 此 Java 函数可处理来自 Amazon S3 的通知事件，并使用 Java 类库（JCL）从上传的图像文件创建缩略图。
+ [layer-java](https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/layer-java) – 一个 Java 函数，说明如何使用 Lambda 层将依赖项与核心函数代码分开打包。

**在 Lambda 上运行常见 Java 框架**
+ [spring-cloud-function-samples](https://github.com/spring-cloud/spring-cloud-function/tree/3.2.x/spring-cloud-function-samples/function-sample-aws)：此示例来自 Spring，展示了如何使用 [Spring Cloud Function](https://spring.io/projects/spring-cloud-function) 框架创建 AWS Lambda 函数。
+ [无服务器 Spring Boot 应用程序演示](https://github.com/aws-samples/serverless-java-frameworks-samples/tree/main/springboot)：该示例展示了如何在带有 SnapStart 和不带有 SnapStart 的托管式 Java 运行时系统中设置典型的 Spring Boot 应用程序，或者如何使用自定义运行时系统设置为 GraalVM 本机映像。
+ [无服务器 Micronaut 应用程序演示](https://github.com/aws-samples/serverless-java-frameworks-samples/tree/main/micronaut)：该示例展示了如何在带有 SnapStart 和不带有 SnapStart 的托管式 Java 运行时系统中使用 Micronaut，或者如何使用自定义运行时系统设置为 GraalVM 本机映像。在[《Micronaut/Lambda 指南》](https://guides.micronaut.io/latest/tag-lambda.html)中了解更多信息。
+ [无服务器 Quarkus 应用程序演示](https://github.com/aws-samples/serverless-java-frameworks-samples/tree/main/quarkus)：该示例展示了如何在带有 SnapStart 和不带有 SnapStart 的托管式 Java 运行时系统中使用 Quarkus，或者如何使用自定义运行时系统设置为 GraalVM 本机映像。在[《Quarkus/Lambda 指南》](https://quarkus.io/guides/aws-lambda)和[《Quarkus/SnapStart 指南》](https://quarkus.io/guides/aws-lambda-snapstart)中了解更多信息。

如果您刚接触用 Java 编写的 Lambda 函数，不妨先尝试 `java-basic` 示例。要开始使用 Lambda 事件源，请参阅 `java-events` 示例。这两种示例都会显示 Lambda 的 Java 库、环境变量、AWS SDK 和 AWS X-Ray SDK 的使用情况。这些示例需要最少的设置，并且可以在不到一分钟的时间内从命令行部署。