我在classpath中创建一个包含系统属性的属性文件,名称为system.properties
文件如:
system.project_name=springsilkworm
我也使用EHcache,ehcache.xml如:
<diskStore path="${java.io.tmpdir}/${system.project_name}/cache" />
我想在system.properties中使用system.project_name。
我基于Spring开发了我的项目,所以我创建了applicationContext.xml,如:
<context:property-placeholder location="classpath*:/system.properties" ignore-resource-not-found="true" ignore-unresolvable="true" />
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass" value="java.lang.System" />
<property name="targetMethod" value="setProperty" />
<property name="arguments">
<list>
<value>system.project_name</value>
<value>${system.project_name}</value>
</list>
</property>
</bean>
<bean id="ehCacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation" value="classpath:/ehcache.xml" />
<property name="shared" value="true" />
</bean>
但是当我启动我的应用程序时,我找到了EHcahce使用的文件夹:
也就是说,MethodInvokingFactoryBean不起作用,我也在我的代码中使用System.getProperty(“system.project_name”)代码获取属性,我得到了“null”的结果,为什么?我找不到错误。