我试图设置本地DynamoDB实例与SpringBoot。我跟着这个,但是格拉德尔。
当我尝试运行我的应用程序时,会出现以下异常:
BeanCreationException:创建名为“AgentPository”的bean时出错:无法解析匹配的构造函数(提示:为简单参数指定索引/类型/名称参数以避免类型歧义)
我知道这是由于歧义导致的依赖注入失败,但我的AgentRepository
是一个无参数构造函数。不确定歧义在哪里。
以下是我的代码:
格雷德尔锉刀
buildscript {
ext {
springBootVersion = '2.1.1.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'test.project'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
maven { url "https://repo.spring.io/milestone" }
}
ext['springCloudVersion'] = 'Greenwich.M3'
dependencies {
//implementation('org.springframework.boot:spring-boot-starter-data-redis')
implementation('org.springframework.boot:spring-boot-starter-web')
compile 'org.springframework.data:spring-data-releasetrain:Hopper-SR10'
compile 'com.amazonaws:aws-java-sdk-dynamodb:1.11.34'
compile 'com.github.derjust:spring-data-dynamodb:4.3.1'
testImplementation('org.springframework.boot:spring-boot-starter-test')
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
发电机配置
@Configuration
@EnableDynamoDBRepositories(basePackages = "test.project.agent.agent")
public class DynamoConfig
{
@Value("${aws.dynamodb.endpoint}")
private String dynamoDBEndpoint;
@Value("${aws.auth.accesskey}")
private String awsAccessKey;
@Value("${aws.auth.secretkey}")
private String awsSecretKey;
@Bean
public AmazonDynamoDB amazonDynamoDB()
{
AmazonDynamoDB dynamoDB = new AmazonDynamoDBClient(getAwsCredentials());
dynamoDB.setEndpoint(dynamoDBEndpoint);
return dynamoDB;
}
@Bean
public AWSCredentials getAwsCredentials()
{
return new BasicAWSCredentials(awsAccessKey, awsSecretKey);
}
}
代理(实体)
@DynamoDBTable(tableName="Agent")公共类Agent{私有字符串代理号;私有整数id;私有企业业务;私有代理状态代理状态;
@DynamoDBHashKey(attributeName = "agentNumber")
public String getAgentNumber()
{
return agentNumber;
}
public void setAgentNumber(String agentNumber)
{
this.agentNumber = agentNumber;
}
@DynamoDBAttribute(attributeName = "id")
public Integer getId()
{
return id;
}
public void setId(Integer id)
{
this.id = id;
}
@DynamoDBAttribute(attributeName = "business")
public Business getBusiness()
{
return business;
}
public void setBusiness(Business business)
{
this.business = business;
}
@DynamoDBAttribute(attributeName = "agentState")
public AgentState getAgentState()
{
return agentState;
}
public void setAgentState(AgentState agentState)
{
this.agentState = agentState;
}
}
代理的
package test.project.agent.agent;
import org.socialsignin.spring.data.dynamodb.repository.EnableScan;
import org.springframework.data.repository.CrudRepository;
@EnableScan
public interface AgentRepository extends CrudRepository<Agent, String>
{
Agent findByNumber(String number);
}
AgentController(注射AgentRepository的地方)
@RestController
@RequestMapping(value = "/v1/agents")
public class AgentController
{
@Autowired
private AgentRepository agentRepository;
@RequestMapping(value = "/test", method = RequestMethod.POST)
public void test()
{
Agent agent = new Agent();
agent.setAgentNumber("123456");
agent.setId(1);
}
}
此错误的原因是什么,如何解决?
注意:即使注释掉了注入的AgentRepository
部分,应用程序也无法启动。
除上述错误外,我还收到以下异常:
org。springframework。豆。工厂UnsatifiedPendencyException:创建名为“methodValidationPostProcessor”的bean时出错,该bean在类路径资源[org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.class]中定义:通过方法“methodValidationPostProcessor”参数0表示未满足的依赖关系;嵌套的异常是org。springframework。豆。工厂BeanCreationException:创建名为“AgentPository”的bean时出错:无法解析匹配的构造函数(提示:为简单参数指定索引/类型/名称参数以避免类型歧义)
我们创建了一篇端到端的开发文章,展示了如何创建与DynamoDB交互的Spring Boot应用程序。在这个应用程序中,使用了Java V2 DynamoDB API(以及其他AWS API)。此外,它还展示了V2增强客户端的使用——DynamoDB V2 API的一个新功能。
此外,它还演示了如何将应用程序部署到Elastic Beanstalk。
你可以在这里找到开发文章:https://github.com/aws-doc-sdk-examples/tree/master/javav2/usecases/creating_dynamodb_web_app
这个错误信息相当误导。实际原因是spring data dynamodb
库与spring boot
版本不匹配。本页列出了版本要求。因此,在我的例子中,修复方法是使用更新spring数据dynamodb
。
所以在Gradle文件中(使用版本5.0.4而不是4.3.1)
compile group: 'com.github.derjust', name: 'spring-data-dynamodb', version: '5.0.4'
本文向大家介绍Springboot教程之如何设置springboot热重启,包括了Springboot教程之如何设置springboot热重启的使用技巧和注意事项,需要的朋友参考一下 SpringBoot热重启步骤 1.打开点击pom.xml配置文件 2.找到配置文件节点 3.在节点中插入以下代码 4.点击编辑器菜单栏view ->Tool Windows->Maven Projects 中查看是
我有一个rest应用程序,它使用带有tomcat嵌入的spring boot 1.4.2 在客户端,用户可以通过网络摄像头拍照并保存到服务器。 在服务器端,我保存img的例子: /home/test/img/ 在我的Web应用程序中,我需要设置什么才能显示图像?
我正在用SpringBoot配置Consor,并在这里找到了一个文档。即使浏览了其他资源,也没有找到其他配置或场景。 因此,我很好奇当springboot应用程序与consul集成时是否只有这些配置可用。我想深入了解,有人能让我知道任何其他可用的属性吗?
我正在尝试将Apache shiro 1.7.0添加为安全管理器,您会发现我的配置类: shiro的pom.xml条目: 该项目编译成功,但我得到了上面的错误,而试图访问web应用程序,我感谢任何麻或建议。 启动Tomcat上下文时出错。异常:org.springframework.beans.factory.beancreationexception。消息:创建类路径资源[org/apache/
以下是错误消息 java.lang.IllegalStateException:无法加载ApplicationContext 一个使用elasticSearch、mysql、redis等的Spingboot项目,谷歌有很多,但他只是一个新的Spingboot。网上的东西不管用。我不知道怎么改。 application-local.yml 应与ES的配置相关 控制器
问题内容: 当您想使用Javascript更改HTML时,如何知道何时使用以下任一方法? 问题答案: 设置通常用于输入/表单元素。通常用于div,span,td和类似元素。