2016-03-30 22 views
2

Yay biçiminde bir XML biçiminde en kısa yoldan bir dize türü bildirmek istiyorum. Şimdiye kadar bu okunabilmesi için, ben dize türü tek satırlık yay fasulyesi beyanı

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

Ancak

buldum en kısa yoldur, ben düzgünce bunlardan için 'yığın' birden mi tür şöyle ve sadece tüm kodu üzerinde koyamazsınız ediyorum çünkü hat kodu uzunluğu hakkında takım standartların bir satır: hala bağlam dosyasında hepsini tutulması tercih ediyorum ve ayrıca yeniden düzenlemek zorunda kalmadan sınıf için ayrı ayrı bağlam dosyasını yeniden olabilir okunabilirliği için

<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" sınıfından fasülye yaratmanın nedenini biliyor olabilir miyim? – user2004685

+0

İçerik boyunca tonlarca yerde referans alınacak şekilde, bir konumdan bunu sürdürmek isteyebilirsiniz. – Serge

+0

Bir arabirim veya "final" sınıfı oluşturmalı ve bu dizeleri buraya koymalısınız. Projeniz boyunca kolayca referans alabilirsiniz. – user2004685

cevap

3

tüm .jar

İçerik dosyasında her şeyi saklamak ve basitleştirmek istiyorsanız, String fasulye yerine PropertyPlaceholderConfigurer kullanıyor olmalısınız. İşte

  1. bir özellikler project.properties olarak adlandırılan dosyasını oluşturma, bir örnektir.
  2. Tüm Strings numaranızı {key=value} çiftine koyun.

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

  3. Şimdi şöyle kolayca değerleri erişebilir, aşağıdaki gibidir: Örnek için,

    Şimdi
    myStrings.cnst1=FOO 
    myStrings.cnst2=BAR 
    myStrings.cnst3=FOOBAR 
    
  4. , sizin bağlam dosyası içinde bir PropertyPlaceholderConfigurer beyan

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

Daha fazla bilgi için this link ve this link'a bakın.