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}