Spring security 自从Spring安全性从XML迁移到JavaConfig后,UserDetailsService bean丢失

Spring security 自从Spring安全性从XML迁移到JavaConfig后,UserDetailsService bean丢失,spring-security,spring-java-config,Spring Security,Spring Java Config,我使用Spring Security3.2.0.RELEASE 我目前正在将我的应用程序基于XML的Spring安全配置迁移到基于JavaConfig的Spring安全配置 在旧的security.xml中,我配置了一个基于JDBC的UserDetailsService,如下所示: 除其他效果外,上述XML配置自动注册了一个类型为JdbcUserDetailsManager(一个UserDetailsService的子类型)的Springbean,我可以将其注入到其他组件中,如下所示: @服

我使用Spring Security
3.2.0.RELEASE

我目前正在将我的应用程序基于XML的Spring安全配置迁移到基于JavaConfig的Spring安全配置

在旧的
security.xml
中,我配置了一个基于JDBC的
UserDetailsService
,如下所示:


除其他效果外,上述XML配置自动注册了一个类型为
JdbcUserDetailsManager
(一个
UserDetailsService
的子类型)的Springbean,我可以将其注入到其他组件中,如下所示:

@服务
公共类MyCustomService{
@注入
私有JdbcUserDetailsManager judm;
//...
}

我对上述XML基于JavaConfig的改编如下:

@配置
//@ImportResource(“classpath:to/no/more/needed/security.xml”)
@启用Web安全性
公共类SecurityConfig扩展了WebSecurity配置适配器{
@凌驾
受保护的无效配置(AuthenticationManagerBuilder auth)引发异常{
认证
.jdbc身份验证()
.passwordEncoder(somePasswordEncoder)
.dataSource(someDataSource);
}
// ...
}
上面的JavaConfig配置似乎没有额外注册类型为
JdbcUserDetailsManager
的springbean。这意味着
MyCustomService
没有注入这样的bean,因此我得到了
NoSuchBeanDefinitionException

 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.security.provisioning.JdbcUserDetailsManager] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.inject.Inject()}
使用JavaConfig方法,如何获得类型为
JdbcUserDetailsManager
的bean?

您尝试添加了吗

@Bean
public JdbcUserDetailsManager jdbcUserDetailsManager(){
    return new JdbcUserDetailsManager();
}
到您的SecurityConfig类