config/src/main/java/org/springframework/security/config/http/HttpSecurityBeanDefinitionParser.java
@SuppressWarnings({ "unchecked" })
	@Override
	public BeanDefinition parse(Element element, ParserContext pc) {
		CompositeComponentDefinition compositeDef = new CompositeComponentDefinition(
				element.getTagName(), pc.extractSource(element));
		pc.pushContainingComponent(compositeDef);

		registerFilterChainProxyIfNecessary(pc, pc.extractSource(element));

		// Obtain the filter chains and add the new chain to it
		BeanDefinition listFactoryBean = pc.getRegistry().getBeanDefinition(
				BeanIds.FILTER_CHAINS);
		List<BeanReference> filterChains = (List<BeanReference>) listFactoryBean
				.getPropertyValues().getPropertyValue("sourceList").getValue();

		filterChains.add(createFilterChain(element, pc));

		pc.popAndRegisterContainingComponent();
		return null;
	}
@SuppressWarnings({ "unchecked" })
	@Override
	public BeanDefinition parse(Element element, ParserContext pc) {
		CompositeComponentDefinition compositeDef = new CompositeComponentDefinition(
				element.getTagName(), pc.extractSource(element));
		pc.pushContainingComponent(compositeDef);

		registerFilterChainProxyIfNecessary(pc, pc.extractSource(element));

		// Obtain the filter chains and add the new chain to it
		BeanDefinition listFactoryBean = pc.getRegistry().getBeanDefinition(
				BeanIds.FILTER_CHAINS);
		List<BeanReference> filterChains = (List<BeanReference>) listFactoryBean
				.getPropertyValues().getPropertyValue("sourceList").getValue();

		filterChains.add(createFilterChain(element, pc));

		pc.popAndRegisterContainingComponent();
		return null;
	}
@ SuppressWarnings ( { "unchecked" } ) @ Override public BeanDefinition parse ( Element element , ParserContext pc ) { CompositeComponentDefinition compositeDef = new CompositeComponentDefinition ( element . getTagName ( ) , pc . extractSource ( element ) ) ; pc . pushContainingComponent ( compositeDef ) ; registerFilterChainProxyIfNecessary ( pc , pc . extractSource ( element ) ) ; // Obtain the filter chains and add the new chain to it BeanDefinition listFactoryBean = pc . getRegistry ( ) . getBeanDefinition ( BeanIds . FILTER_CHAINS ) ; List < BeanReference > filterChains = ( List < BeanReference > ) listFactoryBean . getPropertyValues ( ) . getPropertyValue ( "sourceList" ) . getValue ( ) ; filterChains . add ( createFilterChain ( element , pc ) ) ; pc . popAndRegisterContainingComponent ( ) ; return null ; }
The aim of this method is to build the list of filters which have been defined by
the namespace elements and attributes within the &lt;http&gt; configuration, along
with any custom-filter's linked to user-defined filter beans.
<p>
By the end of this method, the default <tt>FilterChainProxy</tt> bean should have
been registered and will have the map of filter chains defined, with the
"universal" match pattern mapped to the list of beans which have been parsed here.
The aim of this method is to build the list of filters which have been defined by the namespace elements and attributes within the &lt ; http&gt ; configuration along with any custom - filter s linked to user - defined filter beans . <p > By the end of this method the default <tt > FilterChainProxy< / tt > bean should have been registered and will have the map of filter chains defined with the universal match pattern mapped to the list of beans which have been parsed here .