私のSpringブートアプリケーションでは、以下の内容のapplication.yaml構成ファイルがあります。私はそれがチャネル構成のリストをConfigurationオブジェクトとして注入したい:SpringブートのオブジェクトのリストへのYamlのリストのマッピング
available-payment-channels-list:
xyz: "123"
channelConfigurations:
-
name: "Company X"
companyBankAccount: "1000200030004000"
-
name: "Company Y"
companyBankAccount: "1000200030004000"
そして、私はPaymentConfigurationオブジェクトのリストが移入させたい@Configurationオブジェクト:
@ConfigurationProperties(prefix = "available-payment-channels-list")
@Configuration
@RefreshScope
public class AvailableChannelsConfiguration {
private String xyz;
private List<ChannelConfiguration> channelConfigurations;
public AvailableChannelsConfiguration(String xyz, List<ChannelConfiguration> channelConfigurations) {
this.xyz = xyz;
this.channelConfigurations = channelConfigurations;
}
public AvailableChannelsConfiguration() {
}
// getters, setters
@ConfigurationProperties(prefix = "available-payment-channels-list.channelConfigurations")
@Configuration
public static class ChannelConfiguration {
private String name;
private String companyBankAccount;
public ChannelConfiguration(String name, String companyBankAccount) {
this.name = name;
this.companyBankAccount = companyBankAccount;
}
public ChannelConfiguration() {
}
// getters, setters
}
}
私はこれを注入しています@Autowiredコンストラクタを持つ通常のBean。 XYZの値が正しく設定されていますが、春には、オブジェクトのリストにYAML解析しようとするとき、私は
nested exception is java.lang.IllegalStateException:
Cannot convert value of type [java.lang.String] to required type
[io.example.AvailableChannelsConfiguration$ChannelConfiguration]
for property 'channelConfigurations[0]': no matching editors or
conversion strategy found]
何がここで間違っている任意の手がかりを取得していますか?
私はまったく同じ問題を抱えています:私は多くのことを試みましたが、空のオブジェクト、または同じエラー "型の値を変換できません...文字列.... MyObject ...一致するエディタまたは変換戦略が見つかりました。 奇妙なことに、私はSpring BootでSnakeYAMLのパラメータや動作に影響する可能性のあるものを変更していないのです...実際は、一体何ですか? – Alex
私はほとんど忘れてしまった、私は春のブートを使用しています。1.2.6 – Alex