org.springframework.context.annotation

## Annotation Type Lazy

-     @Target(value={TYPE,METHOD})
      @Retention(value=RUNTIME)
      @Documented
      public @interface Lazy

  Indicates whether a bean is to be lazily initialized.

  May be used on any class directly or indirectly annotated with `@Component` or on methods annotated with `@Bean`.

  If this annotation is not present on a `@Component` or `@Bean` definition, eager initialization will occur. If present and set to `true`, the `@Bean` or `@Component` will not be initialized until referenced by another bean or explicitly retrieved from the enclosing `BeanFactory`. If present and set to `false`, the bean will be instantiated on startup by bean factories that perform eager initialization of singletons.

  If Lazy is present on a `@Configuration` class, this indicates that all `@Bean` methods within that `@Configuration` should be lazily initialized. If `@Lazy` is present and false on a `@Bean` method within a `@Lazy`-annotated `@Configuration` class, this indicates overriding the 'default lazy' behavior and that the bean should be eagerly initialized.

  Since:
    3.0
  Author:
    Chris Beams
  See Also:
    `Primary`, `Bean`, `Configuration`, `Component`

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `boolean` | `value` Whether lazy initialization should occur.

- - ### Element Detail

    - #### value

          public abstract boolean value

      Whether lazy initialization should occur.
      Default:
        true