See the sample project for code example: https://github.com/snicoll-scratches/demo-unresolved-type-fallback

If a bean is defined with an unresolved generic such as NumberHolder<?> and the injection point is defined as NumberHolder<Integer>, @Autowired is able to inject the bean whereas a getIfAvailable call on getBeanProvider returns null.

It looks like an inconsistency in the dependency resolution algorithm.