스프링에서 어떻게 Resource를 다루는지 알아보자

Introduction


자바의 URL 클래스는 여러 Resource를 다루기에는 너무 기능이 부족하다.

리소스가 뭐냐

The 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();
}

public interface InputStreamSource {
    InputStream getInputStream() throws IOException;
}

리소스의 구현은 읽기, 쓰기(WritableResource) 등의 작업을 할 때 쓸 수 있다.

Resource 인터페이스 구현체