Spring通过构造函数参数表达不满足的依赖关系,索引类型为0

2024-02-16

完整的消息是

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: 
    Error creating bean with name 'userRepositoryUserDetailsService' defined in file 
    [/Users/tdaley/apache-tomcat-8.0.12/wtpwebapps/cloud-management/WEB-INF/classes/
       org/cru/cloud/management/security/UserRepositoryUserDetailsService.class]: 
    Unsatisfied dependency expressed through constructor argument with index 0 of type 
[org.cru.cloud.management.data.UserRepository]: : No qualifying bean of 
    type [org.cru.cloud.management.data.UserRepository] found for dependency: 
        expected at least 1 bean which qualifies 
        as autowire candidate for this dependency. 
     Dependency annotations: {}; 
nested exception is 
    org.springframework.beans.factory.NoSuchBeanDefinitionException: 
       No qualifying bean of type [org.cru.cloud.management.data.UserRepository] found 
       for dependency: expected at least 1 bean 
       which qualifies as autowire candidate for this dependency. 
     Dependency annotations: {}

我正在使用 Java 配置。以下代码段来自spring boot教程gs-spring-security-3.2:

package org.cru.cloud.management.security;

import java.util.Collection;

import org.cru.cloud.management.data.User;
import org.cru.cloud.management.data.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.AuthorityUtils;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.stereotype.Service;

@Service
public class UserRepositoryUserDetailsService implements UserDetailsService {
    private final UserRepository userRepository;

    @Autowired
    public UserRepositoryUserDetailsService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    @Override
    public UserDetails loadUserByUsername(String username)
            throws UsernameNotFoundException {
        User user = userRepository.findByEmail(username);
        if(user == null) {
            throw new UsernameNotFoundException("Could not find user " + username);
        }
        return new UserRepositoryUserDetails(user);
    }

    private final static class UserRepositoryUserDetails extends User implements UserDetails {    

        private UserRepositoryUserDetails(User user) {
            super(user);
        }

        @Override
        public Collection<? extends GrantedAuthority> getAuthorities() {
            return AuthorityUtils.createAuthorityList("ROLE_USER");
        }

        @Override
        public String getUsername() {
            return getEmail();
        }

        @Override
        public boolean isAccountNonExpired() {
            return true;
        }

        @Override
        public boolean isAccountNonLocked() {
            return true;
        }

        @Override
        public boolean isCredentialsNonExpired() {
            return true;
        }

        @Override
        public boolean isEnabled() {
            return true;
        }

        private static final long serialVersionUID = 5639683223516504866L;
    }
}

public interface UserRepository extends CrudRepository<User, Long>
{
    User findByEmail(String email);
}

关于如何解决这个问题的建议?


你有吗@EnableJpaRepositories http://docs.spring.io/spring-data/jpa/docs/current/api/org/springframework/data/jpa/repository/config/EnableJpaRepositories.html您的配置类中的某处注释以及扫描设置是否正确?默认情况下,带注释的类或接口所在的包将成为存储库扫描的基础包。您可以通过为 basePackages(甚至更好 - basePackageClasses)属性设置一个值来控制它。

您可以使用 Spring Tools Suite 检查在您的上下文中声明了哪些 bean(存储库应该在 Spring Elements > Beans > Spring Data Repositories 下可见)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring通过构造函数参数表达不满足的依赖关系,索引类型为0 的相关文章

随机推荐

  • origin/master 和 master 有什么区别?

    有什么区别 基本上我想用 master 来 rebase 我的分支
  • Python smtplib sendmail() 不适用于主题/正文

    每当我尝试使用sendmail sender reciever message 它成功发送了电子邮件 并且主题行很好 但电子邮件的 正文 总是丢失 这是我的完整代码 s smtplib SMTP smtp gmail com 587 s e
  • Java 应用程序有办法检测屏幕是否锁定吗?

    我正在寻找一种方法来了解 Java 应用程序 withoutJNI 它是一个多平台应用程序 可以检测屏幕是否被锁定 仅供参考 我们的应用程序在用户工作时记录时间 我们希望它在屏幕锁定时自动停止记录 而不是用户必须明确地这样做 我认为没有一个
  • 如何使用ACR122U-A9进行卡模拟

    我有一个 ACR122U A9 我想用它进行卡模拟 请问谁做过这一点 你能给我一些建议吗 现在我还有其他问题 当我将白色智能卡放在这个 NFC 读卡器上时 LED 仅闪烁一次 但是当我把手机放在上面时 LED 总是闪烁 直到手机拔出 ACR
  • 使用 Sentiwordnet 3.0

    我计划使用 Sentiwordnet 3 0 进行情感分类 有人可以澄清一下 Sentiwordnet 中与单词相关的数字代表什么吗 例如排名 5 中的 5 是什么意思 另外对于 POS 来说 用来表示副词的字母是什么 我假设 a 是形容词
  • 数组 - foreach 带来 ->致命错误:无法使用类型的对象

    所以 我对这个数组很生气 第二天让我感到痛苦 我正在开发一个 OOP PHP 脚本 我得到一个数组 Array 0 gt Project Object project id gt 1 title gt Some Name date gt 2
  • 具有动态字段的 Angular Reactive Form

    我目前正在与 Angular 形式数组作斗争 我有一个动态添加字段的表单 我已经创建了表单对象 this otherDataForm this fb group 我添加了这样的动态字段 addField field CustomFormFi
  • 在C#中通过串口发送ctrl+C?

    How can I send my device ctrl c through serial port in C 串行端口不传输密钥 它们传输字节 通常是 字符的 ASCII 表示形式 Keys ControlKey Keys C 与感知
  • 在 Mongoid 中使用 AND 和 OR 的组合

    我想构造一个以下形式的查询 select from some table where field1 x or field2 y and field3 z or field4 w 通过阅读文档 我认为它应该看起来像这样Mongoid Some
  • Delphi:如何响应WM_SettingChange/WM_WinIniChange?

    我需要知道我的申请何时收到WM SETTINGCHANGE http msdn microsoft com en us library ms725497 v VS 85 aspx消息 以前称为WM WININICHANGE http msd
  • 怎么躲得过感叹号啊!在cmd脚本中?

    当我有setlocal ENABLEDELAYEDEXPANSION在cmd脚本中设置有什么方法可以逃脱 我想用作命令的参数 echo off setlocal ENABLEDELAYEDEXPANSION echo I want to g
  • R studio 4.0 上的 easi 包

    easi 包 精确仿射石索引模型 有点旧 但对我的目的仍然有用 考虑到它是基于 R 2 15 3 构建的 有人设法将它安装在 Rstudio 4 上吗 谢谢 我分叉了 github 存储库并更新了源代码以修复Error in class f
  • Excel VBA 自动筛选添加空行

    我修改了 Excel 宏 之前它是逐行进行的 现在它会批量过滤结果和复制 效率更高 我现在遇到的问题是 自动过滤器向工作表中添加了数百万个空行 但我无法确定为什么会这样做 CountryCodes 是一个字典 其中包含过滤器的值 Crite
  • iOS 多个 AVPlayer 对象导致音频/视频同步丢失

    我一直在尝试使用两种不同的AVQueuePlayer我的应用程序中的对象 第一个播放器播放一系列通过网络传输的短视频剪辑 第二个对象仅播放一个视频 但长度要长得多 它也是流式传输的 我已验证所有剪辑都具有正确的音频 视频同步 我注意到的是
  • 从缓存的选择器遍历 DOM 是否比在 DOM 中查找 ID 元素更快?

    关于通过 class 或 id 或其他选择器查找元素是否更快存在很多问题 我对此不感兴趣 我想知道你是否有 var link this let s say you re in a click handler 通过这样做找到容器是否更快 va
  • 等待元素中的文本发生更改

    请建议 Selenium 是否有一个好的选项可以等待元素内的文本发生更改 状况 页面不会自动重新加载 我需要的文本元素会动态重新加载 该数据更新所需时间未知 预期文本未知 它是一个时间戳 我编写了一个方法 每 1 秒 或我设置的任何时间 检
  • 当 localStorage 已满时会发生什么?

    我已经发现articles http code google com speed page speed docs caching html关于缓存行为 所以我只能假设它没有太大不同 但我想确定一下 我读到大多数浏览器都有 5MB 给予或接受
  • 我应该如何正确实现 Clojure 核心接口?

    如果我使用 Clojure 实现一些数据结构deftype 我应该如何决定哪一个Clojure 核心接口 https github com clojure clojure tree master src jvm clojure lang实施
  • 在 Android 上使用 LuaJ 从 Lua 脚本中请求其他 lua 脚本

    我在 Android 上通过 LuaJ 从 Java 调用需要其他 Lua 脚本的 Lua 脚本时遇到问题 我认为这与我当前的工作目录有关 我在 Java 中尝试的 InputStream input EvilApp getContext
  • Spring通过构造函数参数表达不满足的依赖关系,索引类型为0

    完整的消息是 Caused by org springframework beans factory UnsatisfiedDependencyException Error creating bean with name userRepo