我正在阅读spring.io教程中的社交登录,我无法理解如何在公共方法中注入Principal
user
@RequestMapping("/user")
public Principal user(Principal principal) {
return principal;
}
以下是link
答案 0 :(得分:2)
因为如果您正在编写类似
的方法public Principal user(Principal principal)
Spring调用你的方法,Spring BeanFactory
将尝试找到一个名为principal
的bean或一个类型为Principal
的bean,将它注入到你的方法中。所以你的代码会自动变成
public Principal user(@Autowired Principal principal)
假设您要从代码中的某个位置调用user()
方法,那么您需要将principal作为方法参数传递给您的调用,您将这样做
@Autowired Principal principal;
user(principal);
Spring正在这样做是将principal注入你的user()方法