次のBeanを作成しようとしていますAmazonDynamoDBAsyncClientProvider
。私が使用しようとしているとtablePrefix
を定義しているapplication.propertiesを@ConfigurationProperties
Kotlin spring-boot @ConfigurationProperties
以下に示すコードスニペットは同じものです。私がspring-boot appを実行すると、うまく動作しません。
これらのプロパティを設定する通常のJavaクラスを使用して同じConfigurationProperties
クラスを実行しようとしましたが、AmazonDynamoDBAsyncClientProvider
になるとプロパティは空です。私はここで何が欠けていますか?ここ
@Component
open class AmazonDynamoDBAsyncClientProvider @Autowired constructor(val dynamoDBConfiguration: DynamoDBConfig){
@Bean open fun getAmazonDBAsync() = AmazonDynamoDBAsyncClientBuilder.standard()
.withEndpointConfiguration(
AwsClientBuilder.EndpointConfiguration(dynamoDBConfiguration.endpoint, dynamoDBConfiguration.prefix))
.build()
}
は私が設定
@Component
@ConfigurationProperties(value = "dynamo")
open class DynamoDBConfig(var endpoint: String="", var prefix: String="")
ConfigurationProperties
移入が、それはAutowired
を取得したときに、私はそれらの性質があることを参照を取得ん最後にHERESに通常のJava Beanにautowireしようとしているkotlin Beanです空/ 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;
}
}
「私が春の起動アプリケーションを実行すると、機能しません」とはどういう意味ですか?エラーメッセージがあれば、それは何ですか? – miensol
"SpringBootアプリケーションを使用してKotlinアプリケーションを実行し、そこに' getAmazonDBAsync'を記録すると、2つのプロパティが空/ NULLであることがわかります。私はいつプロパティのための通常のJavaクラスを使用します。 – learnedSch0lar