我正在尝试创建以下 bean AmazonDynamoDBAsyncClientProvider
。我有 application.properties 定义endpoint
和tablePrefix
我试图注入使用@ConfigurationProperties
以下是相同的代码片段。当我运行我的 spring-boot 应用程序时,它不起作用。
我尝试过ConfigurationProperties
使用设置这些属性的常规 java 类来执行相同的类,但是当涉及到时AmazonDynamoDBAsyncClientProvider
,属性是空的。我在这里想念什么?
@Component
open class AmazonDynamoDBAsyncClientProvider @Autowired constructor(val dynamoDBConfiguration: DynamoDBConfig){
@Bean open fun getAmazonDBAsync() = AmazonDynamoDBAsyncClientBuilder.standard()
.withEndpointConfiguration(
AwsClientBuilder.EndpointConfiguration(dynamoDBConfiguration.endpoint, dynamoDBConfiguration.prefix))
.build()
}
这是我正在尝试使用配置自动装配的 kotlin bean
@Component
@ConfigurationProperties(value = "dynamo")
open class DynamoDBConfig(var endpoint: String="", var prefix: String="")
最后继承了确实填充的常规java bean,ConfigurationProperties
但是当它得到时,Autowired
我看到这些属性为空/null
@Component
@ConfigurationProperties("dynamo")
public class DynamoDBConfiguration {
private String endpoint;
private String tablePrefix;
public String getEndpoint() {
return endpoint;
}
public void setEndpoint(String endpoint) {
this.endpoint = endpoint;
}
public String getTablePrefix() {
return tablePrefix;
}
public void setTablePrefix(String tablePrefix) {
this.tablePrefix = tablePrefix;
}
}