2 回答

TA貢獻1785條經驗 獲得超8個贊
你有一個,因為你通過在定義它的 bean中BeanCurrentlyInCreationException自動裝配 bean 來創建 bean 之間的循環依賴關系。BCryptPasswordEncoderSecurityConfig
這是您必須刪除的內容:
@Autowired
private BCryptPasswordEncoder passwordEncoder;
相反,您應該使用方法引用來引用BCryptPasswordEncoder:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowire
private UserDetailsService userDetailsService;
@Bean
public BCryptPasswordEncoder bCryptPasswordEncoder() {
return new BCryptPasswordEncoder();
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService)
.passwordEncoder(bCryptPasswordEncoder());
}
}
或者在不擴展的BCryptPasswordEncoder單獨類中聲明bean 。@ConfigurationWebSecurityConfigurerAdapter

TA貢獻1982條經驗 獲得超2個贊
您可以直接注入 UserDetailsServiceImpl :
@Autowired private UserDetailsServiceImpl userDetailsService;
添加回答
舉報