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

Spring Boot(创建bean时出错)-org.springframework.beans.factory.不满意依赖异常:使用名称创建bean时出错

甘明朗
2023-03-14

正在尝试使用jpa/hibernate创建基本web服务。但豆子并没有被初始化。有人能帮我吗?

以下是我的Customer Controller.java:

@RestController
public class CustomerController {

    @Autowired
    CustomerService service;

    @SuppressWarnings("deprecation")
    @PostMapping(value = "/getCust", consumes=MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    public List<CustomerModel> retriveCustomers(@RequestBody CustomerModel cust){
        System.out.println(cust); //just to see the object in console
        List<CustomerModel> resp = service.getCustomers();
        return resp;
    }
}

以下是我的ervice.java:

@Service
public class CustomerService {

    @Autowired
    CustomerRepository repo;

    public List<CustomerModel> getCustomers() {
        List<CustomerModel> resp=repo.getAllCustomers();
        return resp;
    }


}

下面是我的客户地址。爪哇:

@Repository
public interface CustomerRepository extends CrudRepository<CustomerModel, Integer>{

    List<CustomerModel> getAllCustomers();
}

以下是我的odel.java:

@Entity
@Table(name="aliens")
public class CustomerModel {

    @Id
    @Column(name="customer_id")
    private String customerId;

    @Column(name="customer_name")
    private String customerName;

    @Column(name="customer_email")
    private String customerEmail;

    @Column(name="customer_phoneNum")
    private String customerPhoneNum;

    @Column(name="customer_password")
    private String customerPassword;


}

组织。springframework。豆。工厂UnsatisfiedPendencyException:创建名为“customerController”的bean时出错:未满足的依赖项通过字段“service”表示;嵌套的异常是org。springframework。豆。工厂UnsatisfiedPendencyException:创建名为“customerService”的bean时出错:未满足的依赖项通过字段“repo”表示;嵌套的异常是org。springframework。豆。工厂BeanCreationException:创建名为“customerRepository”的bean时出错:调用init方法失败;嵌套的异常是java。lang.IllegalArgumentException:无法为公共抽象java方法创建查询。util。列表com。埃卡特。长脚。服务客户地址。getAllCustomers()!找不到CustomerModel类型的属性getAllCustomers!

组织。springframework。豆。工厂注释。AutoWiredNotationBeanPostProcessor$AutoWiredFeldElement。在org上注入(autowirednotationbeanpostprocessor.java:639)~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]。springframework。豆。工厂注释。注入元数据。inject(InjectionMetadata.java:116)~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]位于org。springframework。豆。工厂注释。AutowiredNotationBeanPostProcessor。postProcessProperties(AutowiredNotationBeanPostProcessor.java:397)~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]位于org。springframework。豆。工厂支持AbstractAutowireCapableBeanFactory。populateBean(AbstractAutowireCapableBeanFactory.java:1429)~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]位于org。springframework。豆。工厂支持AbstractAutowireCapableBeanFactory。doCreateBean(AbstractAutowireCapableBeanFactory.java:594)~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]位于org。springframework。豆。工厂支持AbstractAutowireCapableBeanFactory。createBean(AbstractAutowireCapableBeanFactory.java:517)~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]位于org。springframework。豆。工厂支持抽象工厂。lambda$doGetBean$0(AbstractBeanFactory.java:323)~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]。springframework。豆。工厂支持DefaultSingletonBeanRegistry。getSingleton(DefaultSingletonBeanRegistry.java:222)~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]位于org。springframework。豆。工厂支持抽象工厂。doGetBean(AbstractBeanFactory.java:321)~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]。springframework。豆。工厂支持抽象工厂。getBean(AbstractBeanFactory.java:202)~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]位于org。springframework。豆。工厂支持DefaultListableBeanFactory。在org上预实例化Singleton(DefaultListableBeanFactory.java:879)~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]。springframework。上下文支持AbstractApplicationContext。在org上完成BeanFactoryInitialization(AbstractApplicationContext.java:878)~[spring-context-5.2.0.RELEASE.jar:5.2.0.RELEASE]。springframework。上下文支持AbstractApplicationContext。在org上刷新(AbstractApplicationContext.java:550)~[spring-context-5.2.0.RELEASE.jar:5.2.0.RELEASE]。springframework。靴子网状物servlet。上下文ServletWebServerApplicationContext。在org上刷新(ServletWebServerApplicationContext.java:141)~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]。springframework。靴子SpringApplication。在org上刷新(SpringApplication.java:747)[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]。springframework。靴子SpringApplication。refreshContext(SpringApplication.java:397)[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]位于org。springframework。靴子SpringApplication。在org上运行(SpringApplication.java:315)[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]。springframework。靴子SpringApplication。在org上运行(SpringApplication.java:1226)[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]。springframework。靴子SpringApplication。运行(SpringApplication.java:1215)[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]

共有3个答案

西门靖琪
2023-03-14

显然,他正在尝试实现QueryMethods,在这种情况下,方法签名不正确,QueryMethods是一种模型,其中查询是根据实体属性的名称和方法名称中支持的关键字构建的。

鲜于岳
2023-03-14

在您的存储库中,您正在扩展CrudRepository

这就是它无法为您匹配存储库的原因。将它固定到字符串上,它应该可以正常工作

魏松
2023-03-14

在CrudRepository上,您可以使用findAll()方法

当列出我建议您从PagingAndSortingRepository扩展的对象时,您将在那里完成分页和排序的实现,这非常方便。

关于这个错误,您可以在这里找到正确的语法(getAll不存在,您应该使用findAll)。

 类似资料:
  • 我试图编译一个非常简单的程序,将包含3个用户的简单表保存到http://localhost/phpmyadmin,以清空名为,users ' '的数据库,但它仍然显示异常,您可以看到。 1个异常org.springframework.beans.factory。BeanCreationException:创建在类路径资源[org/springframework/boot/autoconfigure

  • 您好,我是SpringBoot新手,当我尝试运行应用程序时,我总是遇到这个错误,并伴有“上下文初始化期间遇到异常-取消刷新尝试”。这是我的控制器类(orderController) } `

  • “我是Spring新手,我刚开始一个Spring MVC CRUD项目,但在尝试了很多方法之后,我一次又一次地面临同样的错误。 这是打印HTTP状态500的第一个异常-内部服务器错误。 HTTP状态500–内部服务器错误 javax。servlet。ServletException:Servlet。servlet[dispatcher]的init()引发异常组织。阿帕奇。卡塔琳娜。验证者。Auth

  • 问题内容: 几天来,我一直在尝试创建Spring CRUD应用程序。我糊涂了。我无法解决此错误。 还有这个 客户端控制器 ClientServiceImpl 客户资料库 我浏览了许多类似的问题,但是没有人回答不能帮助我。 问题答案: ClientRepository应该用标记注释。使用你当前的配置,Spring将不会扫描该类并对其有所了解。在启动和连接时,找不到ClientRepository类。

  • 我正在升级我现有的轴突核心: 3.3.6到4.0.4,在构建应用程序时面临这个问题我该如何解决它? 以下是例外: 通过构造函数参数0表示的不满意的依赖;嵌套异常是org.springframework.beans.factory.不满意的依赖:错误创建在类路径资源[org/axonframe/springboo/autoconfig/AxonAutoConfiguration.class]中定义的

  • 问题内容: 我将所有的XML Spring配置都转换为Java代码配置,但是由于我有一个丑陋的异常,所以我无法运行我的所有测试(它们之前都曾进行过测试): 这是我的测试课: 和我的: 我在测试课上尝试了推子,但这没用。该项目是Spring MVC项目,但是现在我仅测试服务层,所以为什么要在我的课程上放置该注释?即使有了该注释,也会出现另一个错误。那么,这里发生了什么? 问题答案: 您的配置很好,除