Resource 추상화
- 📚 Spring/Spring 개념
- 2020. 9. 14. 13:31
특징
- java.net.URL 을 추상화 한 것
- 스프링 내부에서 많이 사용하는 인터페이스
추상화 한 이유
- 클래스패스 기준으로 리소스 읽어오는 기능 부재
- ServletContext를 기준으로 상대 경로로 읽어오는 기능 부재
주요 메서드
- exists()
- getFile()
- getURI()
- getURL()
- 추가 정보는 Resource (Spring Framework 5.2.3 API) 참조
Resource 주요 구현체
Resource의 타입은 ApplicationContext 의 구현체 타입에 따라 달라진다.
- ClassPathResource
- Classpath 기준으로 Resource를 찾는다
- ClassPathXmlApplicationContext 와 함께 사용한다
- FileSystemResource
- file system 기준으로 Resource 를 찾는다.
- FileSystemXmlApplicationContext 와 함께 사용한다.
Type 무관한 Resource
- ApplicationContext의 구현체와 상관 없이 Resource 타입을 강제하고 싶으면 java.net.URI 접두어를 사용한다.
- 직접 명시하는 것으로 직관성을 높일 수 있다.
- ClassPathResource 에서 사용하는 접두어
- classpath
- classpath:/application.properties -> 현재 프로젝트의 classpath
- classpath*:/application.properties -> 상위 프로젝트의 classpath 포함
- classpath
- FileSystemResource 에서 사용하는 접두어
- file
- file://resource/application.properties -> 파일의 물리 경로
- file
'📚 Spring > Spring 개념' 카테고리의 다른 글
데이터 바인딩 추상화 : Converter와 Formatter (0) | 2020.10.05 |
---|---|
데이터 바인딩 추상화 : PropertyEditor (0) | 2020.09.14 |
IoC Container - ResourceLoader (0) | 2020.09.11 |
IoC Container - ApplicationEventPublisher (0) | 2020.09.11 |
IoC Container - MessageSource (0) | 2020.09.11 |