Попробуйте добавить пользовательскую функциональность в хранилище данных Spring, но получено исключение UnsatisfiedDependencyException - PullRequest
0 голосов
/ 24 декабря 2018

Я пытался добавить несколько методов в репозиторий данных Spring, но получил UnsatisfiedDependencyException

AppUserRepository.java

@Repository
public interface AppUserRepository extends JpaRepository<AppUser,Long>,    AppUserRepositoryCustom {
}

CustomDetailsService.java

@Service("userDetailsService")
public class CustomUserDetailsService implements UserDetailsService {

@Autowired
AppUserRepository appUserRepository;

@Override
@Transactional
public UserDetails loadUserByUsername(String usernameOrEmail)
    throws UsernameNotFoundException {
AppUser appUser = appUserRepository.findByUsernameOrEmail(usernameOrEmail, usernameOrEmail)
        .orElseThrow(() ->
                new UsernameNotFoundException("User not found with username or email : " + usernameOrEmail)
        );

return UserPrincipal.  create(appUser);

}

@Transactional
public UserDetails loadUserById(Long id) {
AppUser appUser = appUserRepository.findById(id).orElseThrow(
        () -> new UsernameNotFoundException("User not found with id : " + id)
);

return UserPrincipal.create(appUser);

}

AppUserRepositoryCustom.java

public interface AppUserRepositoryCustom {
Optional<AppUser> findByEmail(String email);
Optional<AppUser> findByUsernameOrEmail(String username, String email); 
}

AppUserRepositoryImpl.java

public class AppUserRepositoryImpl implements AppUserRepositoryCustom {
@Override
public Optional<AppUser> findByEmail(String email) {
    return Optional.empty();
}

@Override
public Optional<AppUser> findByUsernameOrEmail(String username, String email) {
    return Optional.empty();
}

}

Но я получил неудовлетворенное исключение исключений

Вызвано: org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании bean-компонента с именем 'userDetailsService': неудовлетворенная зависимость, выраженная через поле 'appUserRepository';

Что не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...