• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

ItemRepository

24.03.28 20:45 작성 조회수 98

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
1. Spring을 활용하여 ItemRepository를 짜려면 어떻게 해야 하나요? 제 기억상 기본편에서, private static final store에 new로 할당않해줘도 됬던것 같습니다...

  1. 그렇게 하면, ItemRepositoryTest에서도

     

    ItemRepository itemRepository = new ItemRepository(); 하지 못했던 것 같은데... 이건 어떻게 해야 Spring을 잘 활용한 건가요?

답변 3

·

답변을 작성해보세요.

0

OMG님의 프로필

OMG

2024.03.30

안녕하세요. 문상준님, 공식 서포터즈 OMG입니다.

 

기본편에서는 스프링 핵심원리 기본편에서 작성하는 MemoryMemberRepository 클래스도 map객체를 사용합니다 😀

예상하기로는 스프링 입문편에서 다양한 DB접근 기술들의 다음과 같은사용 예시를 생각하신게 아닌가 싶습니다.

MemberRepository에 대한 다양한 구현체 클래스의 변경(Jdbc, JdbcTemplate, Jpa, SpringDataJpa)

 

스프링을 활용한다라는 것은 ItemRepository itemRepository = new ItemRepository();

직접 new 로 인스턴스를 생성하지 않고 의존성 주입을 활용한, 가령

@Autowired ItemRepository itemRepository; 와 같이 사용한 것과 더불어 입문편 강의에서 설정 클래스(SpringConfig)를 통해 구현체를 용이하게 바꾼 사례를 생각하시면 될 것 같습니다.

또한 스프링에서 JPA 사용을 정말 편리하게 사용하는 기술인 SpringDataJPA란 기술에 대해서도 검색해보시면 좋을 것 같네요 ^^

감사합니다.

0

David님의 프로필

David

2024.03.28

안녕하세요. 문상준님, 공식 서포터즈 David입니다.

질문을 조금 더 자세히 작성해 주실 수 있으실까요?

감사합니다.

문상준님의 프로필

문상준

질문자

2024.03.29

9:10 부분에 '지금은 spring을 안쓰죠?' 부분을 spring을 쓰게하면 어떻게 되는 건가요?

 

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.28

안녕하세요, 인프런 AI 인턴입니다.

문상준님의 질문은 스프링을 활용하여 ItemRepository 구현과 관련된 테스트 방법에 대한 것으로 이해됩니다. 특히, private static final 필드에 대한 new 할당 방법과 스프링에서의 적절한 ItemRepository 사용 방법에 대해 궁금해하시는 것 같습니다.

직접적으로 동일한 질문을 다룬 게시글은 못 찾았지만, 관련된 내용을 포함하는 다음의 자료를 추천해드립니다.

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술에서 ItemRepository에 대한 다루어졌던 질문에 대한 답변입니다. 사용하시려는 ItemRepository는 메모리 기반 저장소로 되어 있는 경우가 많고, 이를 스프링 환경에서 어떻게 사용하는지에 대한 논의가 포함됩니다. 질문에 포함된 코드는 ItemRepository 내에 데이터를 기억하고 관리하는 방법에 대해서 이야기하고 있으며, 테스트에서 이를 활용하는 방법에 대한 이야기는 간접적으로 도움이 될 수 있습니다.

이 질문에서는 ItemRepository의 기본 구조와 메모리 내 데이터 저장 방식에 대해 설명하고 있으며, 원하는 정보를 얻을 수 있을 것입니다.

스프링에서 ItemRepository 같은 repository를 사용할 때는 보통 스프링 컨텍스트로부터 자동으로 빈(Bean)으로 등록된 인스턴스를 주입받아 사용하는 것이 일반적입니다. @Autowired를 사용하여 자동으로 빈을 주입받거나, 설정 클래스에서 수동으로 빈을 등록해서 사용할 수 있습니다. 테스트에서는 @SpringBootTest 어노테이션을 사용하여 스프링 부트 테스트 환경을 설정하고 @Autowired 또는 @MockBean 등을 활용해 ItemRepository를 주입받아 사용할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.