anchor.diff:  * {api-spring-framework}/aot/hint/RuntimeHints.html[`RuntimeHints`] for the use of reflection, resource loading, serialization, and JDK proxies.
   
   NOTE: At the moment, AOT is focused on allowing Spring applications to be deployed as native images using GraalVM.
  -We intend to offer more JVM-based use cases in future generations.
  +We intend to support more JVM-based use cases in future generations.
   
   [[aot-basics]]
   == AOT engine overview
  
positive.code: 
  * `MergedBeanDefinitionPostProcessor` implementations post-process bean definitions to extract additional settings, such as `init` and `destroy` methods.
  * `SmartInstantiationAwareBeanPostProcessor` implementations determine a more precise bean type if necessary.
  This makes sure to create any proxy that is required at runtime.
  
  One this part completes, the `BeanFactory` contains the bean definitions that are necessary for the application to run. It does not trigger bean instantiation but allows the AOT engine to inspect the beans that would be created at runtime.
  
  [[aot-bean-factory-initialization-contributions]]
  == Bean Factory Initialization AOT Contributions
  
negative.code: * Invoke the available `BeanFactoryInitializationAotProcessor` implementations and apply their contributions against the `GenerationContext`.
  For instance, a core implementation iterates over all candidate bean definitions and generates the necessary code to restore the state of the `BeanFactory`.
  
  Once this process completes, the `GenerationContext` will have been updated with the generated code, resources, and classes that are necessary for the application to run.
  The `RuntimeHints` instance can also be used to generate the relevant GraalVM native image configuration files.
  
  `ApplicationContextAotGenerator#processAheadOfTime` returns the class name of the `ApplicationContextInitializer` entry point that allows the context to be started with AOT optimizations.
  
  Those steps are covered in greater detail in the sections below.
  
  [[aot-refresh]]
  == Refresh for AOT Processing
  