No hay resolución de beans registrada en el contexto para resolver el acceso a beans

Estoy tratando de implementar la seguridad del método usando Java Config, pero recibo un error: -

org.springframework.expression.spel.SpelEvaluationException: EL1057E:(pos 1): No bean resolver registered in the context to resolve access to bean 'appPermissionEvaluator'

El método es: -

@PreAuthorize("@appPermissionEvaluator.hasSystemPermission()")
public String something() {
    ...
}

La definición de la clase Config es (MethodSecurityConfig.java): -

@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class MethodSecurityConfig extends GlobalMethodSecurityConfiguration {

    @Bean
    public AppPermissionEvaluator appPermissionEvaluator() {
        return new AppPermissionEvaluator();
    }

    @Override
    protected MethodSecurityExpressionHandler createExpressionHandler() {
        DefaultMethodSecurityExpressionHandler expressionHandler =
                new DefaultMethodSecurityExpressionHandler();
        expressionHandler.setPermissionEvaluator(appPermissionEvaluator());
        return expressionHandler;
    }

    ...
}

Verifiqué que soy capaz de conectar automáticamente el bean en la misma clase, también encontré que los métodos predeterminados hasPermission () funcionan mientras los implementé, el único problema es leer el bean desde SpEL. No estoy seguro de lo que está mal. ¿Algún puntero?

Estoy usando Spring 4.1.5 y Spring security 3.2.7

Respuestas a la pregunta(1)

Su respuesta a la pregunta