Я работаю над Spring конфигурацией безопасности на основе Java.
Я создал свой собственный MyAuthenticationProvider, который я хочу зарегистрировать в ProviderManager (единственный экземпляр AuthenticationManager).
Я обнаружил, что ProviderManager имеет список поставщиков, которым я могу зарегистрировать свой сингл
MyAuthenticationProvider.
Вот часть моей Конфигурации:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth.authenticationProvider(MyAuthenticationProvider);
    }
}
Я обнаружил, что AuthenticationManagerBuilder имеет parentAuthenticationManager, defaultUserDetailsService и многие другие поля.
Мои вопросы:
-  Где эта аннотация 
@Autowired, добавляющаяAuthenticationManagerBuilderauth from? Является лиAuthenticationManagerBuilderуже созданным в контексте приложения? -  Каким будет состояние по умолчанию 
AuthenticationManagerBuilder, которое вводится? По умолчанию я хочу сказать, что вAuthenticationManagerBuilder? уже есть теги 
parentAuthenticationManager, authenticationProvider
Если я добавляю auth.authenticationProvider(MyAuthenticationProvider), значит ли это, что я добавляю еще одного провайдера в AuthenticationManagerBuilder?
Что это значит? Взято из Spring Документация
Имя метода configureGlobal не имеет значения. Однако это важно только настроить AuthenticationManagerBuilder в классе аннотированный с помощью @EnableWebSecurity, @EnableWebMvcSecurity, @EnableGlobalMethodSecurity, или @EnableGlobalAuthentication. дела в противном случае непредсказуемые результаты.