when is a spring bean instantiated

Assuming the bean is a singleton, and isn't configured for lazy initialisation, then it's created when the context is started up. getBean() just fishes it out.

Lazy-init beans will only be initialised when first referenced, but this is not the default. Scoped beans (e.g. prototype-scoped) will also only be created when first referenced.


According to Spring documentation,

The default behavior for ApplicationContext implementations is to eagerly pre-instantiate all singleton beans at startup.

Also, you can set them to load lazily.

Tags:

Java

Spring