如果我们已经在使用 componentScan 注释,为什么还需要 EntityScan 和 EnableJpaRepositories 注释?
Why EntityScan , EnableJpaRepositories annotations required if we are already using componentScan annotation?
我已经在 spring 启动应用程序的主要 class 中使用了 componentScan
注释,但是如果我只使用这个注释,它会在获取存储库引用时出现问题。所以为了克服这个问题,我使用 EntityScan
和 EnableJpaRepositories
注释 componentScan
.
@EntityScan(basePackages={"com.gonkar.fleetms.models"})
@EnableJpaRepositories(basePackages={"com.gonkar.fleetms.repositories"})
所以我的问题是为什么需要使用其他两个注释?如果我已经在使用 componentScan.
@ComponentScan
注释用于为 类 创建 beans,注释为 @Component
、@Controller
/ @RestController
、@Service
、@Repository
。它标记它们被添加到 Spring 容器(使它们有资格进行依赖注入并允许它们成为 @Autowired
)。
@EntityScan
注释不创建任何 bean,它标识 JPA 持久性上下文应使用哪个 类。
@EnableJpaRepositories
注释用于从 Spring 数据接口创建存储库 类。
这三个注释经常一起使用,但它们负责不同的事情。
我已经在 spring 启动应用程序的主要 class 中使用了 componentScan
注释,但是如果我只使用这个注释,它会在获取存储库引用时出现问题。所以为了克服这个问题,我使用 EntityScan
和 EnableJpaRepositories
注释 componentScan
.
@EntityScan(basePackages={"com.gonkar.fleetms.models"})
@EnableJpaRepositories(basePackages={"com.gonkar.fleetms.repositories"})
所以我的问题是为什么需要使用其他两个注释?如果我已经在使用 componentScan.
@ComponentScan
注释用于为 类 创建 beans,注释为 @Component
、@Controller
/ @RestController
、@Service
、@Repository
。它标记它们被添加到 Spring 容器(使它们有资格进行依赖注入并允许它们成为 @Autowired
)。
@EntityScan
注释不创建任何 bean,它标识 JPA 持久性上下文应使用哪个 类。
@EnableJpaRepositories
注释用于从 Spring 数据接口创建存储库 类。
这三个注释经常一起使用,但它们负责不同的事情。