config/src/main/java/org/springframework/security/config/annotation/method/configuration/GlobalMethodSecurityConfiguration.java
@Bean
	public MethodInterceptor methodSecurityInterceptor() throws Exception {
		this.methodSecurityInterceptor = isAspectJ()
				? new AspectJMethodSecurityInterceptor()
				: new MethodSecurityInterceptor();
		methodSecurityInterceptor.setAccessDecisionManager(accessDecisionManager());
		methodSecurityInterceptor.setAfterInvocationManager(afterInvocationManager());
		methodSecurityInterceptor
				.setSecurityMetadataSource(methodSecurityMetadataSource());
		RunAsManager runAsManager = runAsManager();
		if (runAsManager != null) {
			methodSecurityInterceptor.setRunAsManager(runAsManager);
		}

		return this.methodSecurityInterceptor;
	}
@Bean
	public MethodInterceptor methodSecurityInterceptor() throws Exception {
		this.methodSecurityInterceptor = isAspectJ()
				? new AspectJMethodSecurityInterceptor()
				: new MethodSecurityInterceptor();
		methodSecurityInterceptor.setAccessDecisionManager(accessDecisionManager());
		methodSecurityInterceptor.setAfterInvocationManager(afterInvocationManager());
		methodSecurityInterceptor
				.setSecurityMetadataSource(methodSecurityMetadataSource());
		RunAsManager runAsManager = runAsManager();
		if (runAsManager != null) {
			methodSecurityInterceptor.setRunAsManager(runAsManager);
		}

		return this.methodSecurityInterceptor;
	}
@ Bean public MethodInterceptor methodSecurityInterceptor ( ) throws Exception { this . methodSecurityInterceptor = isAspectJ ( ) ? new AspectJMethodSecurityInterceptor ( ) : new MethodSecurityInterceptor ( ) ; methodSecurityInterceptor . setAccessDecisionManager ( accessDecisionManager ( ) ) ; methodSecurityInterceptor . setAfterInvocationManager ( afterInvocationManager ( ) ) ; methodSecurityInterceptor . setSecurityMetadataSource ( methodSecurityMetadataSource ( ) ) ; RunAsManager runAsManager = runAsManager ( ) ; if ( runAsManager != null ) { methodSecurityInterceptor . setRunAsManager ( runAsManager ) ; } return this . methodSecurityInterceptor ; }
Creates the default MethodInterceptor which is a MethodSecurityInterceptor using
the following methods to construct it.
<ul>
<li>{@link #accessDecisionManager()}</li>
<li>{@link #afterInvocationManager()}</li>
<li>{@link #authenticationManager()}</li>
<li>{@link #methodSecurityMetadataSource()}</li>
<li>{@link #runAsManager()}</li>

</ul>

<p>
Subclasses can override this method to provide a different
{@link MethodInterceptor}.
</p>

@return the {@link MethodInterceptor}.
@throws Exception
Creates the default MethodInterceptor which is a MethodSecurityInterceptor using the following methods to construct it . <ul > <li > { @link #accessDecisionManager () } < / li > <li > { @link #afterInvocationManager () } < / li > <li > { @link #authenticationManager () } < / li > <li > { @link #methodSecurityMetadataSource () } < / li > <li > { @link #runAsManager () } < / li >