001package io.avaje.inject;
002
003import java.lang.annotation.ElementType;
004import java.lang.annotation.Retention;
005import java.lang.annotation.RetentionPolicy;
006import java.lang.annotation.Target;
007
008/**
009 * Marks a Singleton, Component or Factory method beans to be initialised lazily.
010 * <p>
011 * When annotating a {@link Factory} as {@code @Lazy} it means that the factory
012 * itself is not lazy but all beans that it provides will have lazy initialisation.
013 */
014@Retention(RetentionPolicy.SOURCE)
015@Target({ElementType.METHOD, ElementType.TYPE})
016public @interface Lazy {
017}