더북(TheBook)

하지만 잠깐, 유닛 테스트(예제 6-2 참고)에서 리소스 파일을 로드한다고? 리소스를 로드하는 여러 방법이 있지만, 당연히 여러분의 클래스 중 하나에서 특정 방법을 사용해야 하지 않을까? 그러므로 예제 6-3, 예제 6-4 그리고 예제 6-5와 같이 스프링의 의존성 주입 기능을 사용하자. 예제 6-3은 menuFile을 세터와 게터를 통한 프로퍼티로 이용해 org.springframework.core.io.Resource 클래스를 사용하는 예를 보여준다.

 예제 6-3 Menu.java

package com.apress.isf.spring.views;

 

import java.io.IOException;

import java.io.InputStream;

import java.util.Scanner;

import static java.lang.System.out;

 

import org.springframework.core.io.Resource;

 

public class Menu {

 

private Resource menuFile = null;

 

public Resource getMenuFile() {

return menuFile;

}

 

public void setMenuFile(Resource menuFile) {

this.menuFile = menuFile;

}

 

public void printMenu() {

try {

InputStream stream = getMenuFile().getInputStream();

Scanner scanner = new Scanner(stream);

while (scanner.hasNext()) {

out.println(scanner.nextLine());

}

scanner.close();

stream.close();

} catch(IOException e) {

e.printStackTrace();

}

}

 

}


신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.