Spring 弹簧数据:Can';t Autowire@Repository JpaRepository接口:“自动连接”;至少需要1个符合autowire候选资格的bean“;
我的问题和这个差不多,但不一样,因为我没有使用Spring Boot。 所以我不能做Spring 弹簧数据:Can';t Autowire@Repository JpaRepository接口:“自动连接”;至少需要1个符合autowire候选资格的bean“;,spring,spring-mvc,spring-data,Spring,Spring Mvc,Spring Data,我的问题和这个差不多,但不一样,因为我没有使用Spring Boot。 所以我不能做@enableJPareposities我的例子中没有Spring Boot Runner。我在Web应用程序中安装了SpringMVC控制器 我在一个普通的老式SpringMVC应用程序中独立使用Spring数据 我发现了错误 Caused by: No qualifying bean of type 'com.myapp.dao.QuestionsDAO' available: expected at le
@enableJPareposities
我的例子中没有Spring Boot Runner。我在Web应用程序中安装了SpringMVC控制器
我在一个普通的老式SpringMVC应用程序中独立使用Spring数据
我发现了错误
Caused by: No qualifying bean of type 'com.myapp.dao.QuestionsDAO' available:
expected at least 1 bean which qualifies as autowire candidate.
Spring数据的DAO接口,注意@Repository:
@Repository
public interface QuestionsDAO extends JpaRepository<Question, Long> {
public String findById(Long id);
}
组件扫描已启用,适用于所有其他功能
<context:component-scan base-package="com.myapp" />
Spring数据只允许与Spring Boot一起使用吗?注释
@EnableJpaRepositories
来自Spring数据,与Spring Boot无关。因此,用@Configuration
和@EnableJpaRepositories
注释一个类就足够了
如果您想在XML中实现它,您必须添加
<jpa:repositories base-package="com.acme.repositories" />
您的界面上也不需要
@Repository
注释,该注释还有另一个用途。但我确实需要一些Spring注释,否则Autowire将无法工作?您是否建议将@Component用于存储库接口?否,@EnableJpaRepositories
或
将解决此问题。它将扫描已配置的包,并检查扩展其中一个Spring数据接口的所有接口。因此,您不需要对接口本身进行任何注释。
<jpa:repositories base-package="com.acme.repositories" />