Spring Security中奇怪的弹簧使用

时间:2016-04-30 07:53:56

标签: java spring spring-mvc spring-security annotations

我正在研究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。该参数如何传递?

1 个答案:

答案 0 :(得分:1)

您误解了EL-expression,它实际上从bean getWebSecurityConfigurers调用autowiredWebSecurityConfigurersIgnoreParents

方法AutowiredWebSecurityConfigurersIgnoreParents autowiredWebSecurityConfigurersIgnoreParents(ConfigurableListableBeanFactory beanFactory)是创建bean autowiredWebSecurityConfigurersIgnoreParents

的方法