繁体   English   中英

春季靴找不到类型的豆

[英]spring boot could not find bean of type

我正在尝试制作简单的Web门户,但是当我尝试通过以下方式构建代码时

mvn全新安装-X

我收到错误代码

说明:com.kapjee.dziennik.service.UserDetailsS​​erviceImpl中的字段userRepository需要找不到类型为“ com.kapjee.dziennik.service.UserRepository”的bean。 行动:考虑在您的配置中定义类型为“ com.kapjee.dziennik.service.UserRepository”的bean。

下面给你一个项目树。

项目树

UserDetailsS​​erviceImpl

@Service
public class UserDetailsServiceImpl implements UserDetailsService {

@Autowired
private UserRepository userRepository;

@Override
@Transactional(readOnly = true)
public UserDetails loadUserByUsername(String username) throws 
UsernameNotFoundException {

 User user = userRepository.findByUsername(username);
   if (user != null) {
      Set<GrantedAuthority> grantedAuthorities = new HashSet<>();
      grantedAuthorities.add(new 
      SimpleGrantedAuthority(user.getRole().toString()));
      return new 
      org.springframework.security.core.userdetails.User(user.getUsername(),
      user.getPassword(), grantedAuthorities);
  } else {
    throw new UsernameNotFoundException("User was not found!");
  }

 }

}

这是UerService

@Service
public interface UserService {

  void save(User user);

  User findByUsername(String username);
}

和UserRepository

public interface UserRepository extends  JpaRepository<User, Long> {
  User findByUsername(String username);
}

在主班我分享所有背包

@SpringBootApplication
@ComponentScan({"com.kapjee.dziennik"})
@EntityScan("com.kapjee.dziennik.model")
@EnableJpaRepositories("com.kapjee.dziennik.model")

EnableJpaRepositories很可能正在导入错误的程序包。 我猜UserRepository不在model包中。 使用类型安全属性basePackageClasses代替basePackages @ComponentScanEntityScan在您的情况下是多余的。 我很遗憾地说,但是您似乎在用创可贴和胶水整理了一些代码,却没有真正了解自己在做什么。

@EnableJpaRepositories("com.kapjee.dziennik.model") 

我看到您在模型包中指定了jpa存储库,您还需要包括包含该存储库的软件包,因此,如果您在com.kapjee.dziennik.repository包下的存储库回退了

 @EnableJpaRepositories("com.kapjee.dziennik") 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM