# Lazy class

Indicates that a pod should be lazily initialized.

By default, pods are created eagerly at context startup. Applying `@Lazy()` will delay pod creation until it is first requested, improving startup performance or avoiding unnecessary initialization.

### Example

    @Lazy()
    class ExpensiveService {}

    @Lazy(false)
    class AlwaysEagerService {}

- Setting `value` to `true` enables lazy initialization (default).
- Setting `value` to `false` disables lazy initialization explicitly.

Inheritance
  - Object
  - ReflectableAnnotation
  - Lazy
Mixed-in types
  - EqualsAndHashCode
Annotations
  - @Target({TargetKind.classType})

## Constructors

Lazy.new([bool value = true])
  Indicates that a pod should be lazily initialized.
  const

## Properties

annotationType → Type
  Returns the annotation _type of this annotation.
  no setter override
hashCode → int
  The hash code for this object.
  no setter inherited
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited
value → bool
  Whether the pod should be lazy
  final

## Methods

equalizedProperties() → List<Object?>
  Mixin-style contract for value-based equality, `hashCode`, and `toString`.
  override
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.
  override

## Operators

operator ==(Object other) → bool
  The equality operator.
  inherited