Spring: Avoid Circular Dependency error of your @Component(s)
A case-study using a Custom implementation of the “weird” UsernamePasswordAuthenticationFilter, as @Component. This is actually the case when an auto-created bean (e.g.: an AuthenticationManager instance in a @Configuration annotated class) is required in a @Component annotated class (e.g.: a custom filter extending the UsernamePasswordAuthenticationFilter filter), and then, the bean of the @Component custom filter class is required in the @Configuration class.