3

プロパティ ファイルに 16 進数の値があり、Spring で Java オブジェクトの @Value アノテーションを使用してそれをバイト配列に変換する必要があります。

例:

hex.value=CB53CD20B2F222D9

そして、Javaには次のものがあります:

@Value("#{myProperties['hex.value'] ?: ''}")
private byte[] hexValue;

Spring は現在、String.getBytes() を hexValue として設定するだけですが、文字列を表す実際のバイト配列に変換したいと考えています。たとえば、Commons-Codec Hexを使用して

getBytes() を返さないように Spring を構成する方法を知っている人はいますか?

4

1 に答える 1

1

Spring EL の型参照を使用してみることができます。

org.apache.commons.codec.binary.Hex#decodeHexを使用する場合、ターゲット@Valueは次のようになります。

@Value("#{T(org.apache.commons.codec.binary.Hex).decodeHex((myProperties['hex.value'] == null ? '' : myProperties['hex.value'] ).toCharArray())}")
private byte[] hexValue;
于 2013-03-19T12:53:49.017 に答える