Post

[Spring] 템플릿과 콜백

template and callback

[Spring] 템플릿과 콜백

프로그램에서 공통 흐름은 항상 동일하지만 일부 단계에서만 다른 코드를 실행해야 할 때가 있다. 매번 거의 똑같은 코드를 반복 작성하기보다 스켈레톤이 되는 흐름을 템플릿으로 정의하고 바뀌는 부분만 콜백으로 전달하면 시간을 절약할 수 있다.

🤔 템플릿과 콜백이란?

  • 템플릿은 전체 흐름의 뼈대를 정의한 틀이다.

  • 콜백은 템플릿에서 특정 시점에 호출할 코드 조각이다 (보통 함수 1-2개?).

템플릿이 공통 로직을 처리하고 콜백이 세부 로직을 수행하므로 코드가 깔끔해진다.

메소드 호출 주입

설정 파일을 수정하지 않고 메소드를 실행할 때 필요한 객체를 파라미터로 넘겨 주입한다. 빠르게 부분 교체가 필요할 때 유용하다.

Spring의 주요 템플릿

  1. JdbcTemplate
  • 데이터베이스 연결, 쿼리 실행, 결과 매핑, 연결 해제 등 반복 작업을 대신 처리한다.

  • 개발자는 SQL과 결과 처리 로직(RowMapper)만 구현하면 된다.

  1. RestTemplate
  • HTTP 요청을 간단한 메소드 호출로 처리한다.

  • GET 요청은 getForObject(), POST 요청은 postForEntity()로 호출한다.

  1. TransactionTemplate
  • 여러 데이터 조작 작업을 하나의 트랜잭션으로 묶어서 처리한다.

  • 트랜잭션 경계 설정과 롤백/커밋을 자동으로 관리한다.

정리

  • 공통 로직은 템플릿에 가변 로직은 콜백에 분리한다.

  • Spring은 JDBC, HTTP, 트랜잭션 등 자주 쓰는 템플릿을 제공하므로 사용하면 코드가 간단해진다.

  • 템플릿 활용으로 유지보수와 확장성이 향상된다.

This post is licensed under CC BY 4.0 by the author.