当前位置: 首页 > 知识库问答 >
问题:

自动连接依赖项的注入失败,无法自动连接字段

能逸清
2023-03-14

这是我的当前设置:ProjectRepo:

package be.italent.repo;

import be.italent.model.Project;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface ProjectRepo extends JpaRepository<Project, Integer> {

}

ProjectService:

package be.italent.services;

import be.italent.model.Project;
import be.italent.repo.ProjectRepo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class ProjectService {

    @Autowired
    private ProjectRepo projectRepo;

    public List<Project> getAllProjects() {
        return projectRepo.findAll();
    }
}

ProjectRestController:

package be.italent.controllers;

import java.util.ArrayList;
import be.italent.services.ProjectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import be.italent.model.Project;

@RestController
@RequestMapping("/projects")
public class ProjectRestController {

    @Autowired
    private ProjectService projectService;

    @RequestMapping(method = RequestMethod.GET, produces="application/json")
    public ArrayList<Project> getProjects(){
        ArrayList<Project> c = (ArrayList<Project>) projectService.getAllProjects();

        return c;
    }
}
...
<context:component-scan base-package="be.italent"></context:component-scan>
...
<beans
...
jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">

...

<jpa:repositories base-package="be.italent.repo" entity-manager-factory-ref="emf"/>

共有1个答案

贲文景
2023-03-14

当初始化应用程序上下文时出现错误时,Spring经常会给出这些长堆栈跟踪。通常您可以通过查看堆栈跟踪的底部来找出最终原因是什么。

在您的示例中,您会在底部看到以下错误消息:

org.springframework.beans.factory.NosuchBeanDefinitionException:未找到类型为[be.italent.repo.ProjectRepo]的合格bean

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:jpa="http://www.springframework.org/schema/data/jpa"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd
           http://www.springframework.org/schema/data/jpa
           http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">

    <!-- Tell Spring Data JPA where your repository interfaces are -->
    <jpa:repositories base-package="be.italent.repo" />

    <!-- ... -->
</beans>
@Configuration
@EnableJpaRepositories("be.italent.repo")
public class MySpringConfiguration {
    // ...
}
 类似资料:
  • 问题内容: 我正在开发一个小型Java EE Hibernate Spring应用程序,出现错误: 这是我的控制器ArticleControleur,其中包含用于恢复文章列表的功能: 这是我的articleService: 这是我的应用程序上下文: 问题答案: 该错误表明不是注册的Bean。添加其中包含将在你的应用程序上下文中自动装配的bean的软件包: 或者,如果你想将所有子包包括在com.bd

  • 大家好,我收到下一个错误,我是使用Hibernate的新手

  • 问题内容: 我测试了我的DAO,但是没有用。发生以下错误: 我的DAO: 我对此DAO的测试: 我的 applicationContext.xml : 我注意到,如果您在DAO中评论@Transactional,则将正确创建bean。怎么了? 问题答案: 首先,将以Controller结尾的名称给DAO确实很令人困惑,Controller和DAO共同具有不同的目的。 当您添加到服务或dao类时,为

  • 我在Spring+SpringMVC+Hibernate+MySQL web应用程序中的Spring配置有一个问题。Spring无法创建我在Service类中宣布的bean。 下面是Controller类 应用程序-上下文 最后是我的StackTrace 原因:org.SpringFramework.Beans.Factory.BeanCreationException:无法自动连接字段:priv

  • 被异常卡住,下面是日志: org.springframework.beans.factory.BeanCreation异常:创建名为扬声器的bean时出错:注入自动生成的依赖项失败;嵌套异常是org.springframework.beans.factory.BeanCreation异常:无法自动连接方法:公共最终无效org.mybatis.spring.support.SqlSessionDao

  • 这是我的项目的结构: SCR/主/Java/COM/公司/配置 SCR/主/Java/COM/公司/控制器 SCR/Main/Java/COM/Company/MyProject SCR/主/Java/COM/公司/例外 在配置中,我有3个类:ProjectInitializer、ProjectConfiguration和ProjectContextListener。 ==============