我正在研究Spring Security的内部结构,我在WebSecurityConfiguration
中找到了以下两种方法:
public void setFilterChainProxySecurityConfigurer(
ObjectPostProcessor<Object> objectPostProcessor,
@Value("#{@autowiredWebSecurityConfigurersIgnoreParents.getWebSecurityConfigurers()}") List<SecurityConfigurer<Filter, WebSecurity>> webSecurityConfigurers)
throws Exception {
...
}
和
@Bean
public AutowiredWebSecurityConfigurersIgnoreParents autowiredWebSecurityConfigurersIgnoreParents(
ConfigurableListableBeanFactory beanFactory) {
...
}
据我了解{@autowiredWebSecurityConfigurersIgnoreParents.getWebSecurityConfigurers()}
,在第一种方法中,调用方法autowiredWebSecurityConfigurersIgnoreParents
。但该方法有一个参数ConfigurableListableBeanFactory beanFactory
。该参数如何传递?
答案 0 :(得分:1)
您误解了EL-expression,它实际上从bean getWebSecurityConfigurers
调用autowiredWebSecurityConfigurersIgnoreParents
。
方法AutowiredWebSecurityConfigurersIgnoreParents autowiredWebSecurityConfigurersIgnoreParents(ConfigurableListableBeanFactory beanFactory)
是创建bean autowiredWebSecurityConfigurersIgnoreParents