我有一个身份验证服务和一个客户端模块,可以包含它以检索经过身份验证的用户并验证令牌。Spring autowired user
我想达到的是能够做到这一点: @Autowired MyUser user
检索正确的用户(请求范围)。
我做了什么:
在单独的模块,该客户端可以包括:
@Configuration
public class MyUserHolder {
@Bean
@Scope(value="request", proxyMode= ScopedProxyMode.TARGET_CLASS)
public MyUser getMyUser() {
return (MyUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
}
}
并在客户端:
@Autowired MyUser user
上有MYUSER没有注释类(这是否正确?)
我得到的错误是:
org.springframework.beans.factory.NoSuchBeanDefinitionException:
No qualifying bean of type [...MyUser] found for dependency [...MyUser]:
expected at least 1 bean which qualifies as autowire candidate for this dependency.
我不知道,如果问题来自于一个事实,即对象和注释都在另一模块(包括JAR),或者如果注解只是不完整的......感觉就像是MyUserHolder不在春天背景下正确可用
确保您的应用程序正在扫描(组件扫描)MyUserHolder类,然后自动接线客户端中的MyUser。 – ankidaemon
愚蠢的我,解决了一切:)如果你将它作为答案发布,我会接受它 –