스프링: DI 와 객체 지향 설계를 적극적으로 응용
→ 결과: 스프링은 템플릿/콜백 패턴을 적극적으로 활용
스프링을 사용하는 개발자라면 스프링이 제공하는 템플릿/콜백 기능을 잘 사용할 수 있어야 한다. 동시에 템플릿/콜백이 필요한 곳이 있으면 직접 만들어 사용할 줄도 알아야 한다. 스프링에 내장된 원리도 모르는 채 사용하는 경우와 적용된 패턴을 이해하고 사용하는 경우는 큰 차이가 있다.
try/catch/finally
블록을 사용하는 코드
try/catch/finally
public Integer calcSum(String filepath) throws IOException {
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(filepath));
Integer sum = 0;
String line = null;
while ((line = br.readLine()) != null) { // 계산
sum += Integer.valueOf(line);
}
return sum;
} catch (IOException e) { // 예외 처리
System.out.println(e.getMessage());
throw e;
} finally { // 자원 반환
if (br != null) {
try {
br.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
}
추가 요구사항 발생