1.15.3 로우 레벨 리소스에 대한 편리한 접근 by sh
1.15.3. Convenient Access to Low-level Resources
어플리케이션 컨텍스트를 최적으로 사용하고 이해하기 위해서는 Resources 자료에서 설명한대로 스프링의 Resource
추상화를 숙지해야 합니다.
응용 프로그램 컨텍스트는 ResourceLoader
이며 Resource
객체를 로드 하는 데 사용할 수 있습니다. Resource
는 본질적으로 JDK java.net.URL
클래스의 보다 기능이 풍부한 버전입니다. 사실, Resource
의 구현은 적절한 경우java.net.URL
인스턴스를 감쌉니다. Resource
는 클래스 패스, 파일 시스템 위치, 표준 URL로 설명할 수 있는 위치 및 기타 변형을 포함하여 거의 모든 위치에서 Low-Level의 리소스들을 투명하게 얻을 수 있습니다. 리소스 위치 문자열이 특별한 접두어 없이 간단한 경로인 경우, 해당 리소스는 실제 응용 프로그램 컨텍스트 유형에 따라 적절합니다.

응용 프로그램 컨텍스트에 배포된 빈을 구성하여 특수 콜백 인터페이스인 ResourceLoaderAware
를 구현하면 응용 프로그램 컨텍스트 자체가 theResourceLoader
로 전달되면서 초기화 시 자동으로 다시 호출될 수 있습니다. 정적 리소스에 액세스 하는 데 사용되는 Resource 유형의 프로퍼티들을 노출할 수도 있습니다. 그것들은 다른 프로퍼티들처럼 이것 안으로 주입됩니다. 이러한 Resource
프로퍼티들을 간단한 String
경로로 지정하고 빈이 배포될 때 해당 텍스트 문자열을 실제 Resource
객체로 변환하기 위해 특수 JavaBean PropertyEditor
(컨텍스트에 의해 자동 등록됨)에 의존할 수 있습니다.

ApplicationContext
생성자에 제공된 위치 경로는 실제로 리소스 문자열이며, 간단한 형태로 특정 컨텍스트 구현에 따라 적절하게 처리됩니다. 예를 들어, ClassPathXmlApplicationContext
는 단순한 위치 경로를 클래스 경로 위치로 취급합니다. 특정 접두어가 있는 위치 경로 (리소스 문자열)를 사용하여 실제 컨텍스트 유형에 관계 없이 클래스 경로 또는 URL에서 정의를 로드 하도록 할 수 있습니다.
Last updated
Was this helpful?