2016-03-30 9 views
2

可能な限り短い方法で、春のXMLコンテキストでString型のBeanを宣言したいと思います。今のところ、これはしかし、読みやすさのために、私はちょっとそうのように、これらのきれいの「スタック」複数たい、と私はちょうど上のすべてのコードを置くことができない私は文字列型1行の春Beanを宣言する

<bean id="bean1" class="java.lang.String"> 
     <constructor-arg type="String" value="someword" /> 
</bean> 

を見つけた最短の方法ですなぜならラインコードの長さについてのチームの規格の1行:私はまだコンテキストファイルにすべてを維持好むだろうとも私は再デプロイすることなく、クラスパスに別々のコンテキストファイルを再デプロイすることができ、読みやすさのために

<bean id="bean1" class="java.lang.String">blah blah </bean> 
<bean id="bean2" class="java.lang.String">blah blah </bean> 
<bean id="bean3" class="java.lang.String">blah blah </bean> 
+0

「String」クラスのBeanを作成する理由を知ることができますか? – user2004685

+0

文脈を通じて数多くの場所で参照されるように、ある場所からそれを維持できるようにしたいと考えています。 – Serge

+0

インターフェイスまたはfinalクラスを作成し、そこにすべてのStringを配置する必要があります。プロジェクト全体で簡単に参照できます。 – user2004685

答えて

3

全体.jar

すべてをコンテキストファイルに保存して簡略化したい場合は、String beansの代わりにPropertyPlaceholderConfigurerを使用する必要があります。ここで

は一例であり、

  1. project.propertiesという名前のプロパティファイルを作成します。
  2. このファイルの中にStringsをすべて{key=value}と入れてください。

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="location"> 
        <value>project.properties</value> 
    </property> 
    

  3. を今すぐ次のように簡単に値にアクセスすることができ、:たとえば、次のように

    myStrings.cnst1=FOO 
    myStrings.cnst2=BAR 
    myStrings.cnst3=FOOBAR 
    
  4. 、あなたのコンテキストファイル内PropertyPlaceholderConfigurerを宣言

    @Value("${myStrings.cnst1}") 
    private String someString; 
    

詳細については、this linkおよびthis linkを参照してください。

関連する問題