title: Implicit dependency between BeanNameAutoProxyCreator and imported configuration
body: <p>At my company, we're working on an aspect-oriented trace interceptor, similar to <code>DebugInterceptor</code>.  We're configuring a <code>CustomizableTraceInterceptor</code> and using a <code>BeanNameAutoProxyCreator</code> to auto-proxy beans for AOP.</p>
  
  <p>The problem we're facing is that, when we introduce the <code>BeanNameAutoProxyCreator</code> in the configuration:</p>
  
  <pre>
  @Configuration
  @Import(BConfig.class)
  @EnableAspectJAutoProxy
  public class AConfig {
      @Bean
      public static BeanNameAutoProxyCreator beanNameAutoProxyCreator() {
          BeanNameAutoProxyCreator beanNameAutoProxyCreator = new BeanNameAutoProxyCreator();
          beanNameAutoProxyCreator.setInterceptorNames(new String[] {DEBUG_INTERCEPTOR_NAME});
          beanNameAutoProxyCreator.setBeanNames(new String[] {BEANS_NAMES_EXPRESSION});
          return beanNameAutoProxyCreator;
      }
  }
  </pre>
  
  <p>We get a org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [X], where X is a Resteasy Proxy. This Resteasy Proxy is declared in <code>BConfig</code>.</p>
  
  <p>Now, if I move the Resteasy Proxy bean configuration up to AConfig, this issue is solved, and <code>@DependsOn</code> solves the issue too.</p>
  
  <p>My questions are 3: when is Spring able to resolve dependencies between beans? Why using a BeanNameAutoProxyCreator changes this behavior? What is the recommended way of solving this issue (BeanPostProcessor, @DependsOn, etc.).</p>