인프런 커뮤니티 질문&답변

nskynet5374님의 프로필 이미지
nskynet5374

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

순수 JDBC

SpringConfig에 JdbcMemberRepsoitory반환 오류

작성

·

596

·

수정됨

0


[질문 내용]
SpringConfig클래스에 MemoryMemberRepsoitory 메소드에 retrun new JdbcMemberRepository();를 하고

dataSource 객체 생성 후 생성자까지 만들어주었습니다.

여기까지는 ()에 오류가 생기는데 여기에 dataSource를 넣어주면 전체오류가 생기여 옵션엔터를 눌러 해결하면 메소드 이름을 MemoryMemberRepository가 아닌 JdbcMemeberRepository로 바꿔라 합니다.

이를 변경하면 위에 MemberService도 바꿔야하며 전체코드에 이상이 생깁니다.

package hello.hellospring;

import hello.hellospring.repository.JdbcMemberRepository;
import hello.hellospring.repository.MemoryMemberRepository;
import hello.hellospring.service.MemberService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.sql.DataSource;

@Configuration
public class SpringConfig {

    DataSource dataSource;

    public SpringConfig(DataSource dataSource) {
        this.dataSource = dataSource;
    }

    @Bean
    public MemberService memberService(){
        return new MemberService(memberRepository());
    }

    @Bean
    public MemoryMemberRepository memberRepository(){
        //return new MemoryMemberRepository();
        return new JdbcMemberRepository(dataSource);    //오류발생
    }
}

java: incompatible types: hello.hellospring.repository.JdbcMemberRepository cannot be converted to hello.hellospring.repository.MemoryMemberRepository
이러한 오류내용이 뜹니다.

수업 소스코드와 동일하게 해봤는데 이럽니다!

답변 1

0

안녕하세요, nskynet5374 님. 공식 서포터즈 y2gcoder 입니다.

강의 자료나 영상에서의 SpringConfig에서 리포지토리 교체하는 부분을 잘 봐주시면

@Bean
public MemberRepository memberRepository() {
  //return new MemoryMemberRepository();
  return new JdbcMemberRepository(dataSource);
}

로 진행하고 있는 것을 알 수 있습니다.

해당 memberRepository() 메서드의 반환타입을 작성하신 코드와 비교해보시고 고치신 후 다시 한 번 시도해보시길 추천드립니다 :)



감사합니다.

nskynet5374님의 프로필 이미지
nskynet5374
질문자

아 그렇네요..정신이 없어서 작은거 하나하나를 체크 못 하고 넘겨보았던거같습니다.
답변감사합니다!

nskynet5374님의 프로필 이미지
nskynet5374

작성한 질문수

질문하기