0

一連の静的最終文字列変数を含むファイルがあります。

static final String ENTER = "Enter"; 
static final String EXIT = "Exit"; 
static final String FORCE = "Force"; 

等々。たぶん20本くらい。

ただし、これらの値を .java ファイルで定義するのではなく、Spring XML から定義してロードしたいと考えています。これらの宣言をSpring xmlファイルに追加するにはどうすればよいですか?その後、.javaファイルはどのように見えますか?

私は次のようなことをしますか:

<bean id="enter" class="java.lang.String">
    <property name="ENTER">
        <constructor-arg type="java.lang.String" value="Enter"/> 
    </property>
</bean>

また

ここで Util:Constant を使用すると便利ですか?

また、どちらの場合でも、私の Java ファイルはどのようになりますか? 20 ~ 30 のすべての最終変数に対して多数のセッター/ゲッターを使用することは避けたいと考えています。

注:Spring 2.5を使用しています

4

1 に答える 1

2

おそらくSpringプロパティを使用するのに最も適した方法。ファイルmyconstant.propertiesを作成し、それをクラスパス ルートに配置して、そこに定数を設定します。

com.mycompany.myapp.ENTER=Enter 
com.mycompany.myapp.EXIT=Exit
com.mycompany.myapp.FORCE=Force

そして、アプリケーション コンテキスト xml に PropertyPlaceHolderConfigurer を作成します。プロパティは、${..}構文を使用して置き換えることができます

<context:property-placeholder location="classpath:/myconstant.properties"/>

<bean class="com.mycompany.SomeClass">
  <property name="blah" value="${com.mycompany.myapp.ENTER}"/>
</bean>

これは Bean クラスに注入することもできます

@Component
public MyClass {
  @Value("${com.mycompany.myapp.ENTER}") private String ENTER;
  ..
}
于 2013-07-16T22:43:00.367 に答える