Это зависит от ваших требований. Однако вы можете создать хранилище, например, одноэлементный объект для хранения ваших ресурсов, из которых у всего JVM существует только один экземпляр. Более того, из-за проблем с параллелизмом не рекомендуется использовать servletcontext для получения экземпляров ресурсов, например источников данных. Для ресурсов данных я бы использовал ресурсы JNDI и позволил бы контейнеру (tomcat или серверу приложений) управлять этими ресурсами, как и любые другие объекты служб, например DAO. Spring решает эти проблемы с помощью контекста приложения, в котором живут все служебные компоненты. в этом контексте вам необходимо определить свои сервисные объекты как бины, и они могут быть внедрены (см. внедрение зависимостей - CDI) в контроллеры, перехватчики и т. д., где они необходимы с различными стратегиями.