如何将属性文件中的@Value注解转换成类属性定义?
- 内容介绍
- 相关推荐
本文共计293个文字,预计阅读时间需要2分钟。
我的代码有一个外部属性文件(使用Spring Cloud Config),该文件包含一组属性。我想从该文件中获取并使用这些属性。
我的代码有一个外部属性文件(使用springcloudconfig),该文件具有一组属性。我我的代码有一个外部属性文件(使用spring cloud config),该文件具有一组属性。我想从此文件中获取并将其转换为使用类。我正在使用@Value批注,从这里提取String没问题,但无法将它们转换为Classs。
我遵循了here列出的示例,它们使用@Value注释对字符串很有效。
示例:
属性条目:
MY_CLASS_ARRAY=[{field1:'Hello',field2:'World'},{field1:'Hello',field2:'Other World'}]
代码
我的班级
public class MyClass{ private String field1; private String field2;}
代码解释
@Value("#{${MY_CLASS_ARRAY}}") private MyClass[] myClassArray;
错误:
Cannot convert value of type 'java.lang.String' to required type '...MyClass': no matching editors or conversion strategy found
如果我将代码更改为此,则可以很好地提取字符串:
@Value("${MY_CLASS_ARRAY}") private String myClassArray;
是否可以使用@Value直接转换为类?
本文共计293个文字,预计阅读时间需要2分钟。
我的代码有一个外部属性文件(使用Spring Cloud Config),该文件包含一组属性。我想从该文件中获取并使用这些属性。
我的代码有一个外部属性文件(使用springcloudconfig),该文件具有一组属性。我我的代码有一个外部属性文件(使用spring cloud config),该文件具有一组属性。我想从此文件中获取并将其转换为使用类。我正在使用@Value批注,从这里提取String没问题,但无法将它们转换为Classs。
我遵循了here列出的示例,它们使用@Value注释对字符串很有效。
示例:
属性条目:
MY_CLASS_ARRAY=[{field1:'Hello',field2:'World'},{field1:'Hello',field2:'Other World'}]
代码
我的班级
public class MyClass{ private String field1; private String field2;}
代码解释
@Value("#{${MY_CLASS_ARRAY}}") private MyClass[] myClassArray;
错误:
Cannot convert value of type 'java.lang.String' to required type '...MyClass': no matching editors or conversion strategy found
如果我将代码更改为此,则可以很好地提取字符串:
@Value("${MY_CLASS_ARRAY}") private String myClassArray;
是否可以使用@Value直接转换为类?

