Это может быть излишним, если вы просто делаете небольшое приложение, но инфраструктура внедрения зависимостей, такая как Spring Framework , может дать вам одноэлементное поведение без необходимости вручную создавать и инициализировать статический объект вручную.
Внедрение зависимостей «контейнер» сконструирует и свяжет вас вместе singleton и его классы зависимостей, и его можно настроить так, чтобы ваш объект был единичным экземпляром в контейнере.
Есть некоторая кривая обучения, если вы раньше не использовали Spring, но это действительно популярная среда, и, вероятно, она вам пригодится.