2016-10-31 6 views
0

스프링 부트 애플리케이션이 있습니다. 주/리소스 폴더 아래에 몇 개의 파일을 읽으려고합니다. Spring Boot는 resources 폴더 아래 application.properties를 자동으로 읽는다. 그러나 그것은 내가 리소스 폴더 아래에 배치 한 다른 XML/텍스트 파일을 읽는 것 같지 않습니다.스프링 부트 - 리소스 폴더 아래의 리소스를 확인하십시오.

Source xslt = new StreamSource(new File("removeNs.xslt")); 

명시 적으로 경로를 제공하지 않아도 리소스 폴더 아래의 모든 파일을 자동으로 읽도록 프로그램에 추가 구성을 추가해야합니까?

답변

3
ClassLoader classLoader = getClass().getClassLoader(); 
File file = new File(classLoader.getResource("removeNs.xslt").getFile()); 

이 작동합니다 사용하여 여러 속성 소스를 지정할 수 있습니다. ..

File file = new File(Thread.currentThread().getContextClassLoader().getResource("removeNs.xslt").getFile()); 
+0

내가 제안 A가'는 Thread.currentThread() getContextClassLoader()의 getResource()가'예에서 클래스 로딩 기술은 때때로 내에서 실패 이후 : @Edwin는보다 강력한 솔루션을 언급하기위한

감사합니다 응용 프로그램 컨텍스트 –

+0

@EdwinDalorzo 좋은 제안. 답변에 추가되었습니다. –

+0

감사합니다. EdwinDalorzo & Terry Li! –

1

당신은 당신이

@PropertySource 주석을 사용하여 리소스 폴더에 특정 파일을 읽을 수 있음을 지정해야합니다.

당신은

@PropertySources({ 
    @PropertySource(), 
    @PropertySource() 
}) 
관련 문제