I have read a number of discussions on web and stack which claim singletons to be evil. Like: root-cause-of-singletons and Why is Singleton considered an anti-pattern?
I read comments like "singletons make code complex, pain to reuse and test". I work with code that has Spring Services which are stateless singletons and I can't see how those points hold here.
Do such services also qualify as bad practices and why? Or all the debate is on statefull singletons only?