Whiteship's Note

Resource를 속성으로 가지는 클래스

Spring/Chapter 4 : 2007.03.21 12:56


Resource로 사용할 파일의 이름이나 위치가 자주 바뀌는 경우에 Resource 타입의 변수를 가지고 있는 클래스의 속성을 configuration 파일에 설정 해두는 것이 편할 수 있습니다.

public class PlainResourceHolder {
    private Resource resource;

    public Resource getResource() {
        return resource;
    }

    public void setResource(Resource resource) {
        this.resource = resource;
    }
}

이렇게 Resource를 가지고 있는 클래스가 있을 때 설정 파일에서도 prefix를 사용해서 Resourc에 값을 넣어 줄 수 있습니다.
<bean id="holder2" class="resource.PlainResourceHolder">
        <property name="resource" value="file:resourceTest.txt" />
</bean>

다음과 같이 테스트를 해보면 원하는 대로 일이 처리 된 걸 확인할 수 있습니다.
    @Test public void resourceFromConfiguration(){
        PlainResourceHolder holder = (PlainResourceHolder)context.getBean("holder2");
        Resource resource =  holder.getResource();
        assertTrue(resource.exists());
        assertTrue(resource.getFilename().equals("resourceTest.txt"));
    }

top




: 1 : 2 : 3 : 4 : 5 : 6 :