spring Boot 用@Autowired自动注入UserDetailsService 找不到bean

package com.hrbust.server.service.impl;

import com.hrbust.server.config.security.JwtTokenUtil;
import com.hrbust.server.pojo.Admin;
import com.hrbust.server.mapper.AdminMapper;
import com.hrbust.server.pojo.RespBean;
import com.hrbust.server.service.IAdminService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;

/**

  • 服务实现类

  • @author awei

  • @since 2022-08-23

  • /
    @Service
    public class AdminServiceImpl extends ServiceImpl implements IAdminService {

    @Autowired
    private UserDetailsService userDetailsService;
    @Autowired
    private PasswordEncoder passwordEncoder;
    @Autowired
    private JwtTokenUtil jwtTokenUtil;
    @Value("${jwt.tokenHead}")
    private String tokenHead;

    @Override
    public RespBean login(String username, String password, HttpServletRequest request) {

      //登录
      UserDetails userDetails = userDetailsService.loadUserByUsername(username);
      if(userDetails == null || !passwordEncoder.matches(password,userDetails.getPassword())){
          return RespBean.error("用户名或密码不正确");
      }
      if(!userDetails.isEnabled()){
          return RespBean.error("账号被禁用,请联系管理员!");
      }
      return null;
    

    }

img

这是今天做乐字节的云E办开源项目时候遇到的问题,@Autowired就说找不到相关的bean,其他的pojo等等层都是逆向工程数据库直接自动生成的,没找到问题。上网找解决方案说让重启清缓存都试过了还是没有用。

spring boot 一直有这个显示,正常使用,我记得是没问题的