接口 AotContextLoader

所有超级接口:
ContextLoader, SmartContextLoader
所有已知实现类:
AbstractDelegatingSmartContextLoader, AbstractGenericContextLoader, AbstractGenericWebContextLoader, AnnotationConfigContextLoader, AnnotationConfigWebContextLoader, DelegatingSmartContextLoader, GenericPropertiesContextLoader, GenericXmlContextLoader, GenericXmlWebContextLoader, WebDelegatingSmartContextLoader

public interface AotContextLoader extends SmartContextLoader
Strategy interface for loading an ApplicationContext for build-time AOT processing as well as run-time AOT execution for an integration test managed by the Infra TestContext Framework.

AotContextLoader is an extension of the SmartContextLoader SPI that allows a context loader to optionally provide ahead-of-time (AOT) support.

AOT infrastructure requires that an AotContextLoader create a GenericApplicationContext for both build-time processing and run-time execution.

从以下版本开始:
4.0
作者:
Sam Brannen, Harry Yang
  • 方法详细资料

    • loadContextForAotProcessing

      cn.taketoday.context.ApplicationContext loadContextForAotProcessing(MergedContextConfiguration mergedConfig) throws Exception
      Load a new ApplicationContext for AOT build-time processing based on the supplied MergedContextConfiguration, configure the context, and return the context.

      In contrast to SmartContextLoader.loadContext(MergedContextConfiguration), this method must not refresh the ApplicationContext or register a JVM shutdown hook for it. Otherwise, this method should implement behavior identical to loadContext(MergedContextConfiguration).

      Any exception thrown while attempting to load an ApplicationContext should be wrapped in a ContextLoadException. Concrete implementations should therefore contain a try-catch block similar to the following.

       GenericApplicationContext context = // create context
       try {
           // configure context
       }
       catch (Exception ex) {
           throw new ContextLoadException(context, ex);
       }
       
      参数:
      mergedConfig - the merged context configuration to use to load the application context
      返回:
      a new GenericApplicationContext
      抛出:
      ContextLoadException - if context loading failed
      Exception
      另请参阅:
    • loadContextForAotRuntime

      cn.taketoday.context.ApplicationContext loadContextForAotRuntime(MergedContextConfiguration mergedConfig, cn.taketoday.context.ApplicationContextInitializer initializer) throws Exception
      Load a new ApplicationContext for AOT run-time execution based on the supplied MergedContextConfiguration and ApplicationContextInitializer.

      This method must instantiate, initialize, and refresh the ApplicationContext.

      Any exception thrown while attempting to load an ApplicationContext should be wrapped in a ContextLoadException. Concrete implementations should therefore contain a try-catch block similar to the following.

       GenericApplicationContext context = // create context
       try {
           // configure and refresh context
       }
       catch (Exception ex) {
           throw new ContextLoadException(context, ex);
       }
       
      参数:
      mergedConfig - the merged context configuration to use to load the application context
      initializer - the ApplicationContextInitializer that should be applied to the context in order to recreate bean definitions
      返回:
      a new GenericApplicationContext
      抛出:
      ContextLoadException - if context loading failed
      Exception
      另请参阅: