@JpaRepository를 구현할 때 Repository가 필요하지 않습니까?
스프링 부트 앱에 저장소 클래스가 있습니다.먼저, 나는 그것에 주석을 달았다.@Repository
그리고 나서 저는JpaRepository
주석을 제거했지만 여전히 작동합니다.
난 그걸 봤어.JpaRepository
가지고 있다@NoRepositoryBean
주석입니다.
이게 어떻게 작동하나요?아니면 이게 안 되고 내 어플리케이션에 이상한 게 있는 거야?
를 붙일 필요는 없습니다.@Repository
확장 인터페이스의 주석JpaRepository
; Spring은 미리 정의된 저장소 중 하나를 확장함으로써 저장소를 인식합니다.Repository
인터페이스입니다.
의 목적@NoRepositoryBean
주석은 Spring이 특정 인터페이스를 단독으로 저장소로 취급하지 않도록 하기 위한 것입니다.그JpaRepository
interface에는 이 주석이 있습니다.이는 저장소 자체가 아니라 자신의 저장소 인터페이스에 의해 확장되는 것을 의미하며, 이러한 주석은 선택되어야 합니다.
아니면 이게 안 되고 내 어플리케이션에 이상한 게 있는 거야?
정상적으로 동작하며, 당신의 어플리케이션에 이상한 점은 없습니다.
그것은 필수가 아니다.이 기능이 작동하는 이유는 패키지를 프레임워크로 지정하여 저장소를 검색하도록 지정했기 때문입니다.@EnableJpaRepositories("packagestoscan")
난 네가 그걸 준비했다고 생각해.@EnableJpaRepositories
.이것에 의해,Spring Data repositories
주석을 달지 않아도@Repository
.
javadoc에서:
JPA 저장소를 활성화하기 위한 주석입니다.기본적으로 주석이 달린 구성 클래스의 패키지에서 스프링 데이터 리포지토리를 검색합니다.
또, 다음과 같이 지정할 수도 있습니다.basePackages
/basePackageClasses
기본값을 변경합니다.
스프링 데이터 jpa를 사용할 때는 저장소를 명시적으로 지정할 필요가 없습니다.스프링 데이터 jpa는 저장소를 확장하는 모든 인터페이스를 검색하고 구현을 자동으로 생성합니다.
구현 중인 @Repository 클래스로 주석을 다는 것이 좋습니다.예를 들어 다음과 같습니다.
@Repository
JpaRepositoryImpl implements JpaRepository
언급URL : https://stackoverflow.com/questions/44069367/repository-not-necessary-when-implementing-jparepository
'programing' 카테고리의 다른 글
JSON 키는 따옴표로 둘러싸야 합니까? (0) | 2023.03.11 |
---|---|
angularjs 장치 테스트에서 키 업/키 다운 이벤트를 트리거하려면 어떻게 해야 합니까? (0) | 2023.03.11 |
플러그인을 사용하여 WordPress에 새 페이지 추가 (0) | 2023.03.11 |
SVN이 외부 정의 내의 디렉토리를 무시하도록 하는 방법 (0) | 2023.03.11 |
SpringMvc와 webflux를 함께 사용할 수 있나요? (0) | 2023.03.11 |