我在 spring.io 教程中阅读了有关社交登录的内容,但我无法理解如何将 Principal
注入(inject)公共(public)方法 user
@RequestMapping("/user")
public Principal user(Principal principal) {
return principal;
}
这是link
最佳答案
因为如果你正在编写这样的方法
public Principal user(Principal principal)
并且 Spring 正在调用您的方法,Spring BeanFactory
将尝试查找名为 principal
的 bean 或 Principal
类型的 bean 来注入(inject)它进入你的方法。所以你的代码会自动变成这样
public Principal user(@Autowired Principal principal)
假设您要从代码中的某个位置调用 user()
方法,在这种情况下,您需要将主体作为方法参数传递给您的调用,您会这样做
@Autowired Principal principal;
user(principal);
Spring 所做的同样的事情是将主体注入(inject)到你的 user() 方法中
关于java - : SpringBoot方法中Principal是如何注入(inject)的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40701038/