zoukankan      html  css  js  c++  java
  • spring boot启动报出IllegalArgumentException异常

    org.springframework.beans.factory.UnsatisfiedDependencyException: 
    Error creating bean with name 'userServiceImpl': Unsatisfied dependency expressed through field 'userRepository'; 
    
    nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userRepository': Invocation of init method failed; 
    
    nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstractcom.liuzeyu.po.Usercom.liuzeyu.dao.UserRepository.findUsernameAndPassword(java.lang.String,java.lang.String)! No property findUsername found for type User!
    
    

    这个异常重点再最后一个异常 java.lang.IllegalArgumentException
    谷歌一下最后一个异常

    Failed to create query for method public abstract com.liuzeyu.po.User com.liuzeyu.dao.UserRepository.findUsernameAndPassword(java.lang.String,java.lang.String)! No property findUsername found for type User!
     翻译: ----->
      无法为方法公共抽象com.liuzeyu.po.User com.liuzeyu.dao.UserRepository.findUsernameAndPassword(java.lang.String,java.lang.String)创建查询! 找不到类型为User的属性findUsername!
    

    琢磨一个晚上无果,在群里请教大佬才得以解决:原来是错在了方法名
    findUsernameAndPassword,要符合JPA方法名称规范,详情见:
    https://www.cnblogs.com/amberbar/p/10261599.html
    原因是:

    方法的名称要遵循 findBy + 属性名(首字母大写) + 查询条件(首字母大写 Is Equals)
    
         findByNameLike(String name)
    
        findByName(String name)
    
        findByNameAndAge(String name, Integer age)
    
        findByNameOrAddress(String name)...
    
    

    最后将findUsernameAndPassword改为findByUsernameAndPassword就可以正常运行了。

  • 相关阅读:
    js/jquery/插件表单验证
    超级英雄在中国香港的平凡生活
    Nginx简单配置几个基于端口的虚拟主机
    Nginx配置简单基于域名的虚拟主机
    反驳关于“码农”的说法
    Nginx配置简单负载均衡
    Nginx Windows版安装及域名绑定
    转载:Java对Base64处理的细节
    转载:Base64编解码介绍
    多层If语句 和 表格驱动 的对比
  • 原文地址:https://www.cnblogs.com/liuzeyu12a/p/12358966.html
Copyright © 2011-2022 走看看