Spring Data JPA 中的一个注解NoRepositoryBean
NoRepositoryBean
是 Spring Data JPA 中的一个注解,用于标记某个接口或类不应该被 Spring Data 自动创建为 Repository Bean。通常情况下,Spring Data 会自动扫描所有继承自 JpaRepository
、CrudRepository
等接口的接口,并为其创建相应的 Bean 实例。然而,在某些情况下,你可能希望定义一个“模板”接口或者基类,供其他 Repository 接口继承,而不希望它本身成为一个可用的 Repository。
使用场景
- 定义公共方法:当你想为多个 Repository 提供一些通用的方法定义,但又不希望这个接口被实例化为 Bean。
- 避免重复配置:如果你有一个基础接口用于定义一些通用的查询方法,但不想让 Spring Data 为它生成实现类,可以使用
@NoRepositoryBean
。 - 防止误用:避免开发者误用了某个基类接口作为注入点。
示例代码
import org.springframework