본문 바로가기
Programming/Spring

Spring boot 시작하기 - 14강(스프링데이터JPA)

by Wilkyway 2020. 11. 30.
반응형

1. SpringDataJpaMemberRepository 인터페이스 작성

이번엔 클래스가 아닌 인터페이스를 만들어줍니다. 인터페이스만 만들면 객체는 JPA 템플릿이 자동으로 생성해준다고 합니다.

package hello.hellospring.repository;

import hello.hellospring.domain.Member;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.Optional;

public interface SpringDataJpaMemberRepository extends JpaRepository<Member, Long>, MemberRepository {

    @Override
    Optional<Member> findByName(String name);

}

통 CRUD 가 아닌 findByName만 구현하면 끝남.;;

 

2. SpringConfig 수정

SpringConfig에 등록된 repository들은 모두 삭제 또는 주석 처리하고, MemberRepository를 인젝션 받으면 됩니다.

 

package hello.hellospring;

import hello.hellospring.repository.MemberRepository;
import hello.hellospring.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SpringConfig {

    private final MemberRepository memberRepository;

    @Autowired
    public SpringConfig(MemberRepository memberRepository) {
        this.memberRepository = memberRepository;
    }

    @Bean
    public MemberService memberService(){

        return new MemberService(memberRepository);
    }

}

 

SpringDataJpa방식은 이렇게 너무도 단순하지만, 이것만 익힐 경우 내부 처리방식등을 모르게 되어 유지보수를 못하게 되므로, 맹신하면 안된다고 하니 유념하시기 바랍니다.

 

~~끝~~

반응형

댓글