본문 바로가기

프로젝트 & TIL/일별 공부 기록 (백엔드 스쿨)

76일차 - 스프링 리소스(Spring Resource)

스프링 리소스(Spring Resource)

- 스프링 프레임워크에서 제공하는 정적 리소스 관리 기능

- 클래스패스 상의 리소스나 웹 애플리케이션의 상대 경로에 있는 리소스를 쉽게 찾을 수 있다.

- 리소스의 읽기, 쓰기, 복사 등 다양한 작업을 수행할 수 있다.

- Resource 인터페이스를 통해 제공되며, 다양한 구현 클래스를 사용하여 리소스를 로드할 수 있다.


Resource Interface와 그 구현체들

public interface Resource extends InputStreamSource {
    
    boolean exists();
    
    boolean isReadable();
    
    boolean isOpen();
    
    boolean isFile();
    
    URL getURL() throws IOException;
    
    URI getURI() throws IOException;
    
    File getFile() throws IOException;
    
    ReadableByteChannel readableChannel() throws IOException;
    
    long contentLength() throws IOException;
    
    long lastModified() throws IOException;
    
    Resource createRelative(String relativePath) throws IOException;
    
    String getFilename();
    
    String getDescription();
    
}

Spring ResourceLoader

- 스프링 프로젝트 내 리소스에 접근할 때 사용하는 기능

- 기본적으로 ApplicationContext(스프링의 핵심 설정)에서 구현되어 있음

- 여러 개의 구현체를 가지고 있다.


ResourcePatternResolver

- 스프링 ApplicationContext에서 ResourceLoader를 불러올 때 사용하는 인터페이스