[DB 접근 기술] 스프링과 문제 해결 - 예외 처리, 반복
체크 예외와 인터페이스 서비스 계층은 가급적이면 순수한 비즈니스 코드만 남겨놓는 것이 바람직하다. 하지만 DB 접근 기술이(예를 들면 JDBC의 SQLException) 리포지토리, 서비스, 컨트롤러에서 처리할 수 없는 체크예외를 던지는 경우라면 서비스, 컨트롤러는 해당 DB 접근 기술에 종속된다. 체크 예외는 메소드 선언에 throw가 필수로 선언되어야 하기 때문이다. 따라서 DB 접근 기술이 JPA로 변경되는 경우 throws SQLException을 다른 exception으로 변경해야 하는 수고가 있다. 우선 인터페이스를 도입해서 DB 접근 기술의 변경이 용이하도록 해보자. MemberRepository를 인터페이스로 지정하면, 서비스 계층은 MemberRepository 인터페이스에만 의존하면 된..
2022.07.05