SpringBoot @Lazy Annotation with Example

SpringBoot @Lazy Annotation with Example:

In our application we might dont want to initialize all bean when the springboot application starts. We might want to initialize certain beans only when it is required.

In order to initialize the bean only when it is required we use an annotation @Lazy

To notify the spring boot application to initialize the bean as Lazy, we need to declare this annotation in @Component or @Bean definition. If this annotation is not present, spring boot will follow eager initialization.

@Lazy annotation can also be used in @Configuration config class. If @Lazy is at Configuration class then it means all the beans declared in configuration class should be lazily initialized. It is possible to declare @Lazy for specific bean to within Configuration class.

When declaring the @Lazy annotation for specific @Bean, we  need to pass the value as true or false. @Lazy (value = “true”).

Now let us see an example,

We are going to create to model classes, Student and Employee. We are going to have Configuration class to declare these beans.







From the output we can see Employee got initialized but Student is not initialized when the application starts.

Download Code here

Read More