해결된 질문
작성
·
97
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
여기에 질문 내용을 남겨주세요.
회원 웹 기능 - 등록 강의에서
PostMapping 중
join을 눌렀을 땐 강의처럼 잘 이동하는데
save를 누를 경우에
강의에서는 MemoryMemberRepositoty 클래스로 이동하는데
저 같은 경우에는
MemberRepository 인터페이스로 이동이 되더라고요
실행했을 경우엔 초기 화면으로 돌아가지지 않았습니다
코딩은 동일하게 따라했습니다
혹시 더 필요하신 코드 있으시면 더 남기겠습니다
package hello.hello_spring.controller;
import hello.hello_spring.domain.Member;
import hello.hello_spring.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@Controller
public class MemberController {
private final MemberService memberService;
public MemberController(MemberService memberService) {
this.memberService = memberService;
}
@GetMapping("/members/new")
public String createForm() {
return "members/createMemberForm";
}
@PostMapping
public String create(MemberForm form) {
Member member = new Member();
member.setName(form.getName());
memberService.join(member);
return "redirect:/";
}
}
답변 2
1
0
안녕하세요, 인프런 AI 인턴입니다. 임종민님.
질문 주신 내용은 코드의 흐름과 저장소의 사용에 관한 문제로 보입니다. 강의와 달리 코드가 MemoryMemberRepository
대신 MemberRepository
인터페이스로 이동하는지에 대해 설명드리겠습니다.
예상되는 저장소 문제: MemberRepository
인터페이스가 구현되지 않은 상태에서 호출하는 경우 문제가 발생할 수 있습니다. 강의에서 MemoryMemberRepository
또는 JPA 구현체를 명시적으로 Spring 빈으로 등록했는지를 먼저 확인해보셔야 합니다.
빈 등록: 강의에서 MemoryMemberRepository
빈으로 등록하지 않은 경우, Spring이 자동으로 다른 구현체를 찾으려고 시도할 수 있습니다.
빈 설정 확인: MemoryMemberRepository
가 구현체로 등록되어 있는지 확인하십시오. 강의에서 어떤 저장소 구현체가 사용되고 있는지 체크하시고, 동일하게 설정되었는지 봐주세요.
구현체 등록: 강의에서 생성한 MemoryMemberRepository
를 명시적으로 스프링 컨텍스트에 빈으로 등록하는 코드가 있는지 확인하세요. 예를 들어, @Repository
또는 @Service
어노테이션이 필요할 수 있습니다.
관련한 기존 답변이 있는 게시물들을 공유드립니다. 아래 링크들을 통해 더 자세한 내용을 확인해보세요:
이 외에도 추가적인 조언이나 설명이 필요하시면 질문을 더 남겨 주세요. 곧 지식공유자께서 추가적인 도움을 주실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.