gpt4 book ai didi

java - 尝试将 JpaRepository 注入(inject) AWS Lambda 时没有合格的 bean

转载 作者:行者123 更新时间:2023-12-01 19:39:12 24 4
gpt4 key购买 nike

我有一个具有 JpaRepository 接口(interface)的外部 jar。我正在尝试使用 Spring 将其 Autowiring 到一个简单的 AWS Lambda 中。我不断得到

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.some.repository' available: expected at least 1 bean which qualifies as autowire candidate.

外部 JAR 中的 JPA 存储库

package com.some.repository;

public interface SomeJpaRepository extends JpaRepository<ClassA, Long> {
...
}

我的 lambda

public class MyLambdaHandler {
static final AnnotationConfigApplicationContext CONTEXT = new AnnotationConfigApplicationContext("com.some.repository");

@Autowired
private SomeJpaRepository repository;

public MyLambdaHandler() {
CONTEXT.getAutowireCapableBeanFactory().autowireBean(this);
}
}

我也尝试过不使用 @Autowired 注释

    public MyLambdaHandler() {
this.repository = CONTEXT.getBean(SomeJpaRepository.class);
}

在我的应用程序上下文中打印 bean 显示没有名为 SomeJpaRepository 的 bean。

编辑:我确实已将 zip 中的所有 jar 上传到 AWS

更新:我也尝试过 @EnableJpaRepositories 注释,但这给出了以下错误没有名为“entityManagerFactory”的可用 bean

最佳答案

您需要将所有依赖项打包到 AWS lambda 部署包/zip 中。您不能引用外部依赖项。如果您想将此依赖项用作不同 lambda 的通用依赖项,并且不想将它们与您的 lambda 包一起打包,那么您可以尝试使用 AWS Lambda Layers.

关于java - 尝试将 JpaRepository 注入(inject) AWS Lambda 时没有合格的 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59185755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com