我有两个.properties
个文件,其中每个文件的两个属性的值相同。所以我想把一个值引用到其他值,例如:
1.config.properties
path= /opt/logs/bundle
2.default.properties
default =/opt/logs/bundle
(与config.properties中的路径相同)
现在这里默认属性值与path相同,所以我想给出:
default = {path}
但在这里,我无法得到那条道路。任何人都可以帮助我。感谢
答案 0 :(得分:0)
java中的Properties
类没有引用其他属性的功能。如果您曾见过使用引用的.properties
文件,则解释.properties
文件的应用程序会在Properties
类之上添加此功能。例如。如果您发现以{
开头并以}
结尾的值,则必须自行查找属性路径。
另一方面,当使用某个库的特定配置文件格式(如spring的bean.xml)时,该库可能在其格式中添加了引用。很有可能,你可以找到一个库,它在java的Properties
工具之上添加引用,或者Spring
已经包含了一些“你需要的东西”。
答案 1 :(得分:0)
在我的项目中,使用了EncryptablePropertySourcesPlaceholderConfigurer,然后使用了资源[]位置'其父母的属性' PropertiesLoaderSupport'已分配我要加载的每个属性文件。我想这就是我不会遇到任何错误的原因。
例如:
<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