Java存储并从属性文件yaml读取字节数组

Java存储并从属性文件yaml读取字节数组,java,arrays,spring,yaml,Java,Arrays,Spring,Yaml,我正在开发一个从数据库读取数据的应用程序。数据库中已经有加密的条目。我将密钥作为字节数组,并希望从yaml文件加载它 有没有办法填充这样的数组 private static final byte[] iv = { 13, -11, -88, 20, -110, 113, -2, -8, -15, -99, -23, -10, -10, -74, 1, 11 } 直接从yaml文件 yaml文件: iv: 13,-11,-88 因为我不能自动连接需要使用键的类,所以我不能使用@value注释(

我正在开发一个从数据库读取数据的应用程序。数据库中已经有加密的条目。我将密钥作为字节数组,并希望从yaml文件加载它

有没有办法填充这样的数组

private static final byte[] iv = { 13, -11, -88, 20, -110, 113, -2, -8, -15, -99, -23, -10, -10, -74, 1, 11 }
直接从yaml文件

yaml文件:

iv: 13,-11,-88
因为我不能自动连接需要使用键的类,所以我不能使用@value注释(据我所知)。因此,我希望使用如下的util类:

public static byte[] getKeyFor(Class type) {
    return context.getEnvironment().getProperty("iv");
}
以下内容应该有效:

application.yml:

iv: 12,32,12,32
在需要值的类中,按如下方式绑定它:

@Value("${iv}") byte[] iv;

您得到了一些字符串,其中包含
string
格式的字节数据

String iv = someCall(); //"13, -11, -88, 20, -110, 113, -2, -8, -15, -99, -23"
String[] byteStrings = iv.split(",");
byte[] byteData = new byte[byteStrings.length];
for (int i = 0; i < byteData.length; i++){
    byteData[i] = Byte.parseByte(byteStrings[i], 8); 
}
String iv=someCall()//"13, -11, -88, 20, -110, 113, -2, -8, -15, -99, -23"
字符串[]byteStrings=iv.split(“,”);
byte[]byteData=新字节[byteStrings.length];
for(int i=0;i
请出示您的简单yaml文件example@BSeitkazin我将把它编辑成问题,但我的问题是,应用程序上下文(spring)上的getProperty()方法只返回stringyeah,这是正确的行为。您只需将该字符串解析为数组或字节列表yourself@BSeitkazin是否有任何util可用于直接将字符串转换为字节数组?在answeri寻找类似内容时添加,还有一个问题。我无法自动关联相应的类,因此无法使用@value注释。我想使用一个util类,就像我现在在问题中编辑的一样。你为什么不能自动连接这个类?在这种情况下,在应用程序中由Spring创建的bean中自动连接该bean,从应用程序上下文中获取该bean,然后从该bean中获取该字节数组。