It looks like, for whatever reason, your ABCProvider
bean was proxied.
16:38:18.510 [MainThread] DEBUG o.s.aop.framework.JdkDynamicAopProxy - Creating JDK dynamic proxy: target source is SingletonTargetSource for target object [com.foo.bar.abc.ABCProvider@35fe3a7e]
Spring used JDK proxies which don't extend your type's class. They only implement your type' interfaces. As such, when Spring tries to resolve a bean of type ABCProvider
to inject into your other @Bean
method, it doesn't find one.
One possible solution is to use CGLIB proxies. You can make that change in your configuration.
Another solution is to declare the interface type of your ABCProvider
as the injection target type.