0
我配置Spring安全註冊豆,下面是我的代碼 -春:通過私有方法
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(customUserDetailsService).passwordEncoder(encoder);
}
@Bean(name="encoder")
public BCryptPasswordEncoder getPasswordEncoder(){
return new BCryptPasswordEncoder();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
...
}
只要我申請@Autowire導通
@Override
@Autowire
protected void configure(HttpSecurity http) throws Exception {
...
}
這引發異常無豆在容器中鍵入'HttpSecurity',這是預期的。
但是當我申請@Autowire
導通
@Override
@Autowire
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(customUserDetailsService).passwordEncoder(encoder);
}
有沒有例外? 這個AuthenticationManagerBuilder
這個bean是在bean factory嗎?
當我改變了我的豆登記私有方法像這個 -
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(customUserDetailsService).passwordEncoder(getPasswordEncoder());
}
@Bean(name="encoder")
private BCryptPasswordEncoder getPasswordEncoder(){
return new BCryptPasswordEncoder();
}
這是拋出異常,方法不能是private.Why這樣呢?
標記爲最終或私人你有兩個問題。後者應該是不言自明的。首先,你使用Boot嗎? – chrylis
@chrylis這是spring mvc項目,Iam不在這裏使用spring boot。 – TheCurious