2013-08-02 139 views
2

我有兩個.properties文件,其中我爲每個文件的兩個屬性具有相同的值。因此,我認爲一個值是指其他,例如:可以將一個屬性值分配給其他屬性文件中的另一個屬性

1.config.properties

path= /opt/logs/bundle 

2.default.properties

default =/opt/logs/bundle(同config.properties路徑)

現在這裏作爲默認屬性值是相同的路徑,所以我想給像:

default = {path} 

但在這裏我無法獲得該路徑。任何人都可以請幫助我。謝謝

+0

的Java?還是其他一些技術?請添加合適的語言/技術標籤 –

+0

您談論哪種技術? –

+0

我正在使用java,spring .. – Nani

回答

0

the Properties java中的類沒有功能參考其他屬性。如果您曾經見過使用引用的.properties文件,則解釋該文件的應用程序在Properties類的頂部添加此功能。例如。如果您發現以{開頭並以}結尾的值,則必須自己查找屬性路徑。另一方面,當使用特定庫的特定配置文件格式(如spring的bean.xml)時,該庫可能在​​其格式中添加了引用。很有可能,你可以找到一個庫,在java的Properties工廠之上添加引用,或者Spring已經包含了大量「你需要的東西」。

+0

你知道任何支持這種引用的屬性之上的這樣的庫嗎? – Nani

+0

請參閱:http://stackoverflow.com/questions/872272/how-to-reference-another-property-in-java-util-properties,eproperties是提到的圖書館的名稱... –

+0

我想要添加依賴但不是jar ..你知道如何做到這一點..所以請讓我知道 – Nani

0

在我的項目中,使用了EncryptablePropertySourcesPlaceholderConfigurer,然後爲其父「PropertiesLoaderSupport」的'Resource [] locations'屬性分配了每個我想要加載的屬性文件。我想這是我不會遇到任何錯誤的原因。

例如:

<bean id="frameworkPropertyPlaceholderConfigurer" 
    class="org.jasypt.spring31.properties.EncryptablePropertySourcesPlaceholderConfigurer"> 
    <constructor-arg ref="stringEncryptor" /> 
    <property name="ignoreUnresolvablePlaceholders" value="true" /> 
    <property name="locations"> 
     <list> 
      <bean parent="frameworkConfigResourceFactoryBean"> 
       <property name="resourceName" value="framework-config.properties" /> 
      </bean> 
      <bean ................> </bean> 
     </list> 
    </property> 
</bean> 

而且在database-config.properties:

database.driver.class=com.mysql.jdbc.Driver 
database.connection.url=${database.connection.url} 
database.username=root 
database.password=${database.password} 

而且在filter.properties:

database.connection.url=jdbc:mysql://localhost:3306/MySQLDBName?rewriteBatchedStatements=true 
database.password=root 
相關問題