# OnApplicationStarted class final

Annotation to mark a method that should run when the application has started, meaning the context is refreshed but the app is not yet fully ready.

This is commonly used to register services, trigger warm-up tasks, or perform actions that depend on the refreshed context.

The only acceptable method signatures are:

- No-Arg: The method should not accept any arguments.
- One-Arg: The method should accept a single argument of type `ConfigurableApplicationContext` or `Duration`.
- Two-Args: The method should accept two arguments of types `ConfigurableApplicationContext` and `Duration`.

### Example

    class MyApp {
      @OnApplicationStarted()
      void afterStart() {
        print("Application context has started, initializing caches...");
      }

      @OnApplicationStarted()
      void afterStartWithContext(ConfigurableApplicationContext context) {
        print("Application context has started, initializing caches...");
      }

      @OnApplicationStarted()
      void afterStartWithContextAndTime(ConfigurableApplicationContext context, Duration timeTaken) {
        print("Application context has started, initializing caches...");
      }

      @OnApplicationStarted()
      void afterStartWithTime(Duration timeTaken) {
        print("Application context has started, initializing caches...");
      }
    }

Inheritance
  - Object
  - ReflectableAnnotation
  - OnApplicationStarted
Annotations
  - @Target({TargetKind.method})

## Constructors

OnApplicationStarted.new()
  Annotation to mark a method that should run when the application has started, meaning the context is refreshed but the app is not yet fully ready.
  const

## Properties

annotationType → Type
  Returns the annotation _type of this annotation.
  no setter override
hashCode → int
  Returns a hash code consistent with equality definition.
  no setter inherited
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited

## Methods

equals(Object other) → bool
  Checks whether the given object is logically equivalent to this annotation.
  inherited
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
toString() → String
  Returns a string representation of this annotation.
  inherited

## Operators

operator ==(Object other) → bool
  Checks if this annotation is equal to another object.
  inherited