2013-05-20 3 views
3

런타임에 Java 응용 프로그램의 현재 작업 디렉토리를 가져 오는 코드입니다.스프링을 사용하여 현재 작업 디렉토리 가져 오기

String currentWorkingDirectory = System.getProperty("user.dir")+System.getProperty("file.separator"); 

스프링 컨텍스트 xml을 사용하여 구성 할 수있는 방법이 있습니까? 예를 들어

는 :

<bean id="csvReportGenerator" class="some.path.CSVReportGenerator"> 
<constructor-arg name="outputFileName" value="${currentWorkingDirectory}/${reportOutputFileGeneric}"/> 
</bean> 
+0

이 도움이 될 http://stackoverflow.com/questions/3965446/how-to-read-system-environment-variable-in-spring-applicationcontext –

답변

6

예, 봄 표현식을 사용하여 그것을 할 수 있습니다. 당신은 단순히 classpath:를 사용하거나 당신이 유닉스 환경에서 배포하는 경우 (보통이다) ./을 사용할 수 있습니다 this 기사

<property name="userDir" value="#{ systemProperties['user.dir'] }"/> 
<property name="fileSep" value="#{ systemProperties['file.separator'] }"/> 
0

의 섹션 6.4.1을 참조하십시오. spring-context.xml에서 classpath:sample.properties 또는 ./sample.properties

0

당신은 context-xml의 현재 디렉토리를 들어

1) classpath:filename.properties 또는

2) ./filename.properties

3) file:./

을 사용할 수 있습니다, 말, ./는 작동합니다 하지만 근무 디렉토리에 대한, file:./ 잘 작동합니다.

예 :

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" 
    xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" 
    xsi:schemaLocation=" 
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd 
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd 
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"> 

    <context:annotation-config /> 

    <bean id="properties" 
     class="org.springframework.beans.factory.config.PropertiesFactoryBean"> 
     <property name="singleton" value="true" /> 
     <property name="ignoreResourceNotFound" value="true" /> 
     <property name="locations"> 
      <list> 
       <value>classpath:/shaharma.properties</value> 
       <value>./shaharma-custom.properties</value> 
      </list> 
     </property> 
    </bean> 

</beans> 
관련 문제