While AnnotationConfigApplicationContext.registerBean supports @Autowired resolution on constructors in case of no instance supplier given, the original method on GenericApplicationContext performs default instantiation only. Making GenericApplicationContext.registerBean smarter in detecting a Kotlin primary constructor or simple non-default public constructor scenarios makes it aligned with AnnotationConfigApplicationContext and more useful in general, in particular for Kotlin DSLs.
#21775 Bean definition DSL does not generate unique bean names
#21808 Expose more AbstractBeanDefinition methods in BeanDefinition
Since full AUTOWIRE_CONSTRUCTOR exhaustively looks at all constructors (public, private, whatever), it does not seem like an ideal candidate here. Instead, a new "preferred constructors" mechanism allows registerBean to suggest the Kotlin primary constructor and standard public constructors to be evaluated for autowiring before falling back to default instantiation. This covers the intended use cases and is largely aligned with the constructor determination algorithm for model attribute processing.