The work done on spring-graalvm-native substitutions has allows to identify a first set of classes where we need to add a specific code path for GraalVM native images:

  • Remove load time weaving capabilities from org.springframework.context.support.AbstractApplicationContext
  • Remove ConfigurationClassEnhancer usage from org.springframework.context.annotation.ConfigurationClassPostProcessor
  • Remove usage of ObjenesisCglibAopProxy from org.springframework.aop.framework.DefaultAopProxyFactory
  • Remove CglibSubclassCreator usage from org.springframework.beans.factory.support.CglibSubclassingInstantiationStrategy

There are likely other ones to be identified.