Если интересно почитать про архитектуру, то советую почитать
Изучаем Java EE 7 Э. Гонсалвес и
официальную документацию.
Java EE определяет большое количество спецификаций для работы с различными технологиями, например для работы с БД - спецификация JPA (Java Persistence API), которая описывает стандартный ORM-фреймворк.
В Java EE приложение не обязательно должно быть веб-приложением. Классическое JEE-приложение разворачивается в сервере приложений, при помощи которого можно управлять жизненным циклом и настройками приложений. Сервер приложений сам находит классы, инстансы которых нужно создать. Application-класс для таких приложений не предусмотрен.
Но в последнее время, в виду популярности микросервисов, появилась возможность разрабатывать standalone-приложения на Java EE, вот в таких микросервисах нужен Application-класс.
Кроме Java EE для интерпрайза в Java-мире существует Spring.io с собственной экосистемой. Приложение на Spring может быть как обычным веб-приложением (с веб-профилем или с полным профилем Java EE), так и микросервисом с Application-классом (обычно Spring Boot, но можно и без него).
Но в любом случае вывод следующий: если приложение разворачивается сервере приложений или сервлет-контейнере, то сервер сам создаёт контекст приложения, который управляет жизненным циклом компонентов приложения. Если же приложение самостоятельное, то разработчик должен сам создать и запустить в Application-классе контекст приложения.