Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring MVC+;Spring数据,在服务上插入存储库时出错_Java_Spring_Hibernate_Spring Mvc_Spring Data Jpa - Fatal编程技术网

Java Spring MVC+;Spring数据,在服务上插入存储库时出错

Java Spring MVC+;Spring数据,在服务上插入存储库时出错,java,spring,hibernate,spring-mvc,spring-data-jpa,Java,Spring,Hibernate,Spring Mvc,Spring Data Jpa,在使用Spring MVC+Spring Data+MariaDB的项目中,当我尝试在服务(@Service)上使用@Autowired annotation注入存储库接口(extends Crudepository)时,会出现以下错误: GRAVE:StandardWrapper.Throwable org.springframework.beans.factory.unsatifiedDependencyException:创建名为“pessoaController”的bean时出错:通过字

在使用Spring MVC+Spring Data+MariaDB的项目中,当我尝试在服务(@Service)上使用@Autowired annotation注入存储库接口(extends Crudepository)时,会出现以下错误:

GRAVE:StandardWrapper.Throwable
org.springframework.beans.factory.unsatifiedDependencyException:创建名为“pessoaController”的bean时出错:通过字段“pessoaseService”表示的未满足的依赖项:创建名为“pessoaseService”的bean时出错:通过字段“pessoasepository”表示的未满足的依赖项:没有类型的限定bean为依赖项[br.com.coderi.adi.repository.pessarepository]找到[br.com.coderi.adi.repository.pessarepository]:应至少有1个bean符合此依赖项的autowire候选项。依赖项批注:{@org.springframework.beans.factory.annotation.Autowired(required=true)};嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionException:未找到依赖项[br.com.coderi.adi.repository.PessoaRepository]类型为[br.com.coderi.adi.repository.PessoaRepository]的符合条件的bean:至少需要1个符合此依赖项autowire候选项的bean。依赖项批注:{@org.springframework.beans.factory.annotation.Autowired(required=true)};嵌套异常为org.springframework.beans.factory.unsatifiedDependencyException:创建名为“pessoaseService”的bean时出错:通过字段“pessoaRepository”表示的未满足的依赖关系:没有[br.com.coderi.adi.repository.pessoareposoasitory]类型的合格bean找到依赖项[br.com.coderi.adi.repository.PessoaRepository]:至少需要1个符合此依赖项autowire候选项条件的bean。依赖项批注:{@org.springframework.beans.factory.annotation.Autowired(必需=true)};嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionException:未找到依赖项[br.com.coderi.adi.repository.PessoaRepository]类型为[br.com.coderi.adi.repository.PessoaRepository]的符合条件的bean:至少需要1个符合此依赖项autowire候选项的bean。依赖项批注:{@org.springframework.beans.factory.annotation.Autowired(required=true)}
位于org.springframework.beans.factory.annotation.AutoWiredNotationBeanPostProcessor$AutoWiredFeldElement.inject(AutoWiredNotationBeanPostProcessor.java:573)
位于org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
位于org.springframework.beans.factory.annotation.AutoWiredNotationBeanPostProcessor.postProcessPropertyValues(AutoWiredNotationBeanPostProcessor.java:350)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
位于org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
位于org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstanceSingleton(DefaultListableBeanFactory.java:775)
位于org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:861)
位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541)
位于org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
位于org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
位于org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
位于org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
位于org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
位于org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
位于javax.servlet.GenericServlet.init(GenericServlet.java:158)
位于org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1231)
位于org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144)
位于org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1031)
位于org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4914)
位于org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5201)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
位于org.apache.catalina.core.StandardContext.reload(StandardContext.java:3746)
位于org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:292)
位于org.apache.catalina.core.StandardContext.backgroundProcess(StandardContext.java:5528)
位于org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1377)
位于org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1381)
位于org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1381)
位于org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1349)
运行(Thread.java:745)
原因:org.springframework.beans.factory.unsatifiedDependencyException:创建名为“pessoaseService”的bean时出错:未满足的依赖项通过表示
package br.com.coderi.adi.model;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.validation.constraints.NotNull;

@Entity
public class Pessoa {

    @Id
    @GeneratedValue
    private Integer id;

    @NotNull
    private String nome;

    @NotNull
    private String sobrenome;

    private String rg;

    private String cps;

<!-- Get/Setters methods... -->
}
package br.com.coderi.adi.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import br.com.coderi.adi.service.PessoaService;

@Controller
@RequestMapping("/pessoa")
public class PessoaController {

@Autowired
private PessoaService pessoaService;

    @RequestMapping("/listar")
    public String listar(Model model) {
        model.addAttribute("pessoas", pessoaService.getPessoas());
        return "atendente/pessoa/listar";
    }

    @RequestMapping(value = "/cadastrar", method = RequestMethod.GET)
    public String cadastrar() {
        return "atendente/pessoa/cadastrar";
    }
}
package br.com.coderi.adi.repository;

import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;

import br.com.coderi.adi.model.Pessoa;

@Repository
public interface PessoaRepository extends CrudRepository<Pessoa, Integer> {

}
package br.com.coderi.adi.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import br.com.coderi.adi.model.Pessoa;
import br.com.coderi.adi.repository.PessoaRepository;

@Service
public class PessoaService {

    @Autowired
    private PessoaRepository pessoaRepository;

    public Iterable<Pessoa> getPessoas() {
        pessoaRepository.findAll();
        return null;
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">

<!-- DispatcherServlet Context: defines servlet's request-processing infrastructure -->
<context:component-scan base-package="br.com.coderi.adi"></context:component-scan>


<!-- Enables the Spring MVC @Controller programming model -->
<annotation-driven></annotation-driven>
<context:annotation-config></context:annotation-config>
<default-servlet-handler />


<!-- Handles HTTP GET requests for /resources/ by efficiently serving up static resources in the webapp/resources directory -->
<resources location="/resources/" mapping="/resources/**"></resources>


<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
<beans:bean
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <beans:property name="prefix" value="/WEB-INF/views/" />
    <beans:property name="suffix" value=".jsp" />
</beans:bean>


<!-- Message source -->
<beans:bean id="messageSource"
    class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    <beans:property name="basename" value="/WEB-INF/messages" />
</beans:bean>


<!-- Data Sources -->
<beans:bean id="mariadbDataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <beans:property name="driverClassName" value="org.mariadb.jdbc.Driver" />
    <beans:property name="url"
        value="jdbc:mariadb://localhost:3306/coderi_adi?useSSL=false" />
    <beans:property name="username" value="root" />
    <beans:property name="password" value="" />
</beans:bean>

<beans:bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <beans:property name="dataSource" ref="mariadbDataSource" />
    <beans:property name="persistenceUnitName" value="adiPersistenceUnit" />
    <beans:property name="jpaVendorAdapter">
        <beans:bean
            class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
    </beans:property>
</beans:bean>

<beans:bean id="transactionManager"
    class="org.springframework.orm.jpa.JpaTransactionManager">
    <beans:property name="entityManagerFactory" ref="entityManagerFactory" />
</beans:bean>
<repositories base-package="com.acme.repositories" />