Springを使用して列挙型の値をプロパティに注入する

ジェームス:

以下のような列挙型があります

public enum MyEnum {
ABC("some string"), 
DEF("some string"), 
GHI("another string");

String value;

private MyEnum(String value) {
    this.value = value;
}

public String value() {
    return this.value;
}}

そして、enum自体ではなくenumの値をキーとして使用してutil:mapを作成したいと思います。したがって、マップは次のようになります。

"some string" -> "mapped output 1"
"another string" -> "mapped output 2"

列挙型を取得するためにutil:constantを使用できることはわかっていますが、列挙型が表す値が必要です。

だから、その時の私の設定ファイルは次のようになります:

<util:constant id="firstKey" static-field="package.MyEnum.ABC"/>
<util:constant id="secondKey" static-field="package.MyEnum.GHI" />


<util:map id="myMap">
    <entry key-ref="firstKey" value="mapped output 1" />
    <entry key-ref="secondKey" value="mapped output 2" /></util:map>

.value()を取得したり、valueプロパティにアクセスしてキーとして使用する方法はありますか?

春がうまくいくことを願って、キータイプを文字列として宣言しようとしましたが、これは無視されたようです。

Spring 2.5.1を使用していて、列挙型を変更できない

イアン・ロバーツ:

式言語にアクセスできない場合は、明示的にフォールバックする必要があります MethodInvokingFactoryBean

<bean id="firstKey" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
  <property name="targetObject"><util:constant static-field="package.MyEnum.ABC"/></property>
  <property name="targetMethod" value="value" />
</bean>

抽象親Bean定義を使用すると、反復XMLを少し短縮できます。

<bean name="enumValue" abstract="true"
      class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
  <property name="targetMethod" value="value" />
</bean>

<bean id="firstKey" parent="enumValue">
  <property name="targetObject"><util:constant static-field="package.MyEnum.ABC"/></property>
</bean>

をスキップしてMethodInvokingFactoryBean使用することもできます

<util:constant id="MyEnum_ABC" static-field="package.MyEnum.ABC" />
<bean id="firstKey" factory-bean="MyEnum_ABC" factory-method="value" />

ただし、これは、各列挙型定数とそのvalue()に対して個別の最上位Beanを宣言することを意味しますが、MIFBを使用すると匿名の内部Beanを使用できます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

MapStructを使用して列挙型をそれ自体のプロパティにマップする方法は?

分類Dev

他のプロパティ名の値を使用して列挙型の作成

分類Dev

json.netを使用して列挙型を別のプロパティ名にシリアル化する方法

分類Dev

Protegeで個人のプロパティ値を定義する際に列挙データ型を使用する

分類Dev

列挙型を導出するときに__class__を使用してプロパティを取得する

分類Dev

ObjectiveCのプロパティとして列挙型を使用できますか?

分類Dev

Spring 2.5.xを使用して単一のプロパティ値を文字列に注入するにはどうすればよいですか?

分類Dev

typescriptを使用してクラス内に列挙型プロパティを作成する方法は?

分類Dev

forEachを使用してプロパティと値を列挙する

分類Dev

列挙型は、プロパティの値をデザイン時にドロップダウンリストとして表示する唯一の方法です

分類Dev

レルムモデルのプロパティとして列挙型を使用する

分類Dev

クラスの列挙型プロパティを使用可能なすべての列挙型に設定する方法はありますか?

分類Dev

関連する値として他の列挙型を持つ列挙型(ネストされた列挙型)にCodableプロトコルを使用する方法

分類Dev

プロパティ値を列挙型に挿入する方法は?

分類Dev

プロパティ値を列挙型に挿入する方法は?

分類Dev

すべてのプロパティを列挙可能にする

分類Dev

インターフェイスのプロパティとして(値ではなく)const列挙型キーを使用する

分類Dev

Swift:文字列を使用して列挙型でプロパティを設定する方法

分類Dev

列挙型内でプロパティ値を使用すると、SpringBootエラーが発生します

分類Dev

Kotlinのプロパティを使用して列挙型インスタンスにアクセスするにはどうすればよいですか?

分類Dev

Springを使用して列挙型の値を取得する方法

分類Dev

列挙型でスピナーとArrayAdapterを使用して、スピナーテキストを列挙型プロパティに設定します

分類Dev

配列または列挙型の列挙型値をマッププロパティのキーとして定義するにはどうすればよいですか?

分類Dev

SwiftのCaseIterable列挙型に「next」プロパティを実装する方法

分類Dev

SwiftのCaseIterable列挙型に「next」プロパティを実装する方法

分類Dev

itプロパティによって列挙する値を設定する方法

分類Dev

Spring構成ファイルでBeanのプロパティに列挙値を割り当てる方法は?

分類Dev

Ninjectを使用してプリミティブ型のプロパティを注入するにはどうすればよいですか?

分類Dev

'number |を期待するプロパティに汎用型の値を使用します。文字列| 未定義'

Related 関連記事

  1. 1

    MapStructを使用して列挙型をそれ自体のプロパティにマップする方法は?

  2. 2

    他のプロパティ名の値を使用して列挙型の作成

  3. 3

    json.netを使用して列挙型を別のプロパティ名にシリアル化する方法

  4. 4

    Protegeで個人のプロパティ値を定義する際に列挙データ型を使用する

  5. 5

    列挙型を導出するときに__class__を使用してプロパティを取得する

  6. 6

    ObjectiveCのプロパティとして列挙型を使用できますか?

  7. 7

    Spring 2.5.xを使用して単一のプロパティ値を文字列に注入するにはどうすればよいですか?

  8. 8

    typescriptを使用してクラス内に列挙型プロパティを作成する方法は?

  9. 9

    forEachを使用してプロパティと値を列挙する

  10. 10

    列挙型は、プロパティの値をデザイン時にドロップダウンリストとして表示する唯一の方法です

  11. 11

    レルムモデルのプロパティとして列挙型を使用する

  12. 12

    クラスの列挙型プロパティを使用可能なすべての列挙型に設定する方法はありますか?

  13. 13

    関連する値として他の列挙型を持つ列挙型(ネストされた列挙型)にCodableプロトコルを使用する方法

  14. 14

    プロパティ値を列挙型に挿入する方法は?

  15. 15

    プロパティ値を列挙型に挿入する方法は?

  16. 16

    すべてのプロパティを列挙可能にする

  17. 17

    インターフェイスのプロパティとして(値ではなく)const列挙型キーを使用する

  18. 18

    Swift:文字列を使用して列挙型でプロパティを設定する方法

  19. 19

    列挙型内でプロパティ値を使用すると、SpringBootエラーが発生します

  20. 20

    Kotlinのプロパティを使用して列挙型インスタンスにアクセスするにはどうすればよいですか?

  21. 21

    Springを使用して列挙型の値を取得する方法

  22. 22

    列挙型でスピナーとArrayAdapterを使用して、スピナーテキストを列挙型プロパティに設定します

  23. 23

    配列または列挙型の列挙型値をマッププロパティのキーとして定義するにはどうすればよいですか?

  24. 24

    SwiftのCaseIterable列挙型に「next」プロパティを実装する方法

  25. 25

    SwiftのCaseIterable列挙型に「next」プロパティを実装する方法

  26. 26

    itプロパティによって列挙する値を設定する方法

  27. 27

    Spring構成ファイルでBeanのプロパティに列挙値を割り当てる方法は?

  28. 28

    Ninjectを使用してプリミティブ型のプロパティを注入するにはどうすればよいですか?

  29. 29

    'number |を期待するプロパティに汎用型の値を使用します。文字列| 未定義'

ホットタグ

アーカイブ