Spring boot 谁调用配置全局函数?如何调用配置全局函数?

Spring boot 谁调用配置全局函数?如何调用配置全局函数?,spring-boot,spring-security,Spring Boot,Spring Security,我在学习Spring Security时有个问题 为了设置AuthenticationManagerBuilder,我使用了configureGlobal方法和@Autowired 我听说configurationGlboal函数名可以是任何东西(甚至是任何东西!) 谁调用configureGlobal函数?如果函数名可能不同,它如何调用此函数? @EnableWebMvc @配置 @组件扫描({“com.company.mypackage”}) @启用Web安全性 公共类SpringWebCo

我在学习Spring Security时有个问题

为了设置
AuthenticationManagerBuilder
,我使用了
configureGlobal
方法和
@Autowired

我听说
configurationGlboal
函数名可以是任何东西(甚至是任何东西!)

谁调用
configureGlobal
函数?如果函数名可能不同,它如何调用此函数?

@EnableWebMvc
@配置
@组件扫描({“com.company.mypackage”})
@启用Web安全性
公共类SpringWebConfig扩展了WebMVCConfigureAdapter{
@自动连线
public void configureGlobal(AuthenticationManagerBuilder auth)引发异常{
auth.inMemoryAuthentication()
.withUser(“用户”)。密码(“密码”)。角色(“用户”)和()
.withUser(“管理员”)。密码(“密码”)。角色(“用户”、“管理员”);
}     
}

Spring调用该方法,因为它被标记为自动连线,请参阅:

自动连线方法

配置方法可以有任意名称和任意数量的参数;这些参数中的每一个都将与Spring容器中的匹配bean自动关联。Bean属性设置器方法实际上只是这种通用配置方法的一个特例。这样的配置方法不必是公共的

但对于Spring安全性,您还必须对类进行注释,请参见:

使用
EnableGlobalAuthentication
注释的注释还表示,注释类可用于配置
AuthenticationManagerBuilder的全局实例。例如:

@配置
@启用Web安全性
公共类MyWebSecurity配置扩展了WebSecurity配置适配器{
@自动连线
public void configureGlobal(AuthenticationManagerBuilder身份验证){
auth.inMemoryAuthentication().withUser(“用户”).密码(“密码”).角色(“用户”)
.和()。带有用户(“管理员”)。密码(“密码”)。角色(“用户”、“管理员”);
}
//可能被重写的方法。。。
}
以下注释使用
EnableGlobalAuthentication

  • EnableWebSecurity
  • 启用WebMVC安全性
  • EnableGlobalMethodSecurity
在没有
EnableGlobalAuthentication
注释的类中配置
AuthenticationManagerBuilder
,会产生不可预测的结果