반응형
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방식은 이렇게 너무도 단순하지만, 이것만 익힐 경우 내부 처리방식등을 모르게 되어 유지보수를 못하게 되므로, 맹신하면 안된다고 하니 유념하시기 바랍니다.
~~끝~~
반응형
'Programming > Spring' 카테고리의 다른 글
Spring boot - DB / Mybatis / Mapper (0) | 2024.04.07 |
---|---|
Spring Maven Swagger설치 (0) | 2024.04.06 |
Spring boot 시작하기 - 13강(JPA) (0) | 2020.11.30 |
Spring boot 시작하기 - 12강(테스트) (0) | 2020.11.30 |
Spring boot 시작하기 - 11강(H2 Database연결-jdbc template방식) (0) | 2020.11.30 |