티스토리 뷰

Spring에서 file, classpath에 위치한 리소스를 제공해주는 Resource 라는 추상화된 인터페이스를 제공해준다.

 

이번글에서는 Resource 인터페이스의 구현체인 ClassPathResourcePathMatchingResourcePatternResolver를 이용하여 classpath에 위치한 resource를 가져오는 5가지의 방법을 알아보도록 한다.

 

classpath resource

현재 classpath의 resource에는 다음과 같은 디렉토리 및 파일들이 존재한다.

classpath resource 조회

ClassPathResource 생성자 또는 PathMatchingResourcePatternResolver 클래스의 getResource 메서드로 classpath에 위치한 리소스이름을 인자로 넣어주면 해당 리소스의 정보를 가져올 수 있다.



PathMatchingResourcePatternResolver 클래스의 getResources 메서드로 리소스이름을 정규식 문자열로 넣어주면 해당 정규식패턴과 일치하는 리소스의 정보를 가져올 수 있다.

 

첫번째 사진에서는 PathMatchingResourcePatternResolver의 getResource 메서드를 이용하였는데 이 메서드는 정규식패턴을 지원하지 않고 getResources 메서드가 정규식패턴을 지원해주니 이름을 헷갈려하지 않도록 주의해서 사용하자.



파일명뿐만 아니라 디렉토리명도 와일드카드를 이용해서 모든 디렉토리의 리소스를 조회할 수 있다.



모든 디렉토리가 아닌 특정 디렉토리를 정규식을 이용해서 가져올 수 있다. 디렉토리 이름이 'b'로 시작하는 즉, 특정이름으로 시작하는 디렉토리의 모든 리소스를 조회할 수도 있다.



위 사진과 반대로 디렉토리 이름이 'r'로 끝나는 즉, 특정이름으로 끝나는 디렉토리의 모든 리소스도 조회할 수 있다.

728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함