IT&컴퓨터
자바 스프링부트에서 .findOne() 메소드 사용이 실패할 때
산마루
2020. 11. 24. 16:22
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(new UserDetailsService() {
@Override
public UserDetails loadUserByUsername(String username)
throws UsernameNotFoundException {
return readerRepository.findOne(username);
}
});
}
다음과 같은 코드가 계속 빌드가 안 되고...
intellij에서 잘 살펴보면 readerRepository.findOne(username)에 붉은 줄이 그어지는 것을 확인할 수 있다.
알고 봤더니 최신 버전 스프링부트에서는 findOne 메서드 대신 .findById(username).orElse(null); 으로 바꿔 써야 정상적으로 빌드가 된다고 한다.
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(new UserDetailsService() {
@Override
public UserDetails loadUserByUsername(String username)
throws UsernameNotFoundException {
return readerRepository.findById(username).orElse(null);
}
});
}
이런 류의 프레임워크의 마이너한 변화가 의외로 큰 고통을 가져온다.. 하..