강의

멘토링

로드맵

Inflearn Community Q&A

specialoo3667's profile image
specialoo3667

asked

Spring MVC Part 1 - Core technologies for backend web development

서로 다른 도메인을 가진 repository에 대해서

Resolved

Written on

·

355

0

안녕하세요

강의를 듣고 토이프로젝트를 진행 중인데 고민이 있어서 여쭤봅니다.

한개는 고객을 담당하는 레포지토리고, 한개는 방명록을 담당하는 레포지토리입니다.

// 고객 레포지토리
public class MemberRepository{

public void save(Member member){
        sqlSession.insert("com.example.toy.mapper.MemberMapper.save", member);
    }
}

// 방명록 레포지토리
public class BoardRepository {
 public void save(Board board){
        sqlSession.insert("com.example.toy.mapper.BoardMapper.save", board);
    }
}

서로 기능이 거의 비슷해서 추상화를 통해 의존성 주입을 받고 싶은데 파라미터의 타입이 달라서 못하는 상황입니다.

여기서 파라미터의 타입을 아예 Object로 하는게 좋은지, 아니면 이런 경우에는 인터페이스로 추상화를 할수 없는 건지 궁금합니다!

springmvc

Answer 1

2

안녕하세요. 최한태님, 공식 서포터즈 David입니다.

제네릭을 사용하면 인터페이스로 추상화하여 사용할 수 있을 것 같습니다.

아래 JpaRepository 인터페이스 코드를 참고해 주세요.

https://github.com/spring-projects/spring-data-jpa/blob/main/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/JpaRepository.java

제네릭에 대한 부분은 아래 내용을 참고해 주세요.

https://coding-factory.tistory.com/573

감사합니다.

specialoo3667's profile image
specialoo3667

asked

Ask a question