Search code examples
springn-tier-architecture

Should service layer classes be singletons?


I am using Spring framework. Should my service classes be created as singletons? Can someone please explain why or why not? Thanks!


Solution

  • Yes, they should be of scope singleton. Services should be stateless, and hence they don't need more than one instance.

    Thus defining them in scope singleton would save the time to instantiate and wire them.

    singleton is the default scope in spring, so just leave your bean definitions as they are, without explicitly specifying the scope attribute.

    You can read more about scopes in the spring docs.