Эволюция фреймворков
Вначале была уютная джавочка с API для файлов-сокетов и интерфейсом в ODBC.
Потом решили что так программировать сложно и забахали пакет API для серверных приложений. Появилась куча аббревиатур которые до сих пор позволяют HRам писать вакансии не приходя в сознание.
Потом решили что собирать адаптеры и конвертеры между этими аббревиатурами руками сложно. Расцвела концепция inversion of control, появились контейнеры вроде спринга и guice.
Чтобы запуститься и на машине разраба и в тесте и собственно на сервере эти контейнерам требовалась куча конфигов. Расписывать их было не просто, "Правильно" запустить такую конструкцию получалось не у всякого. Пошли в дело оболочки для контейнеров вроде boot. На горизонте замаячил призрак совсем других контейнеров.
Успеть везде не возможно. И пока выкристаллизовывался верный способ завернуть перегонялку из таблички БД в JSON этих перегонялок для приличного приложения стало требоваться несколько сотен. И каждую надо "Правильно" оформить чтобы потраченные ранее усилия не пропали даром. Светлые умы быстренько подыскали выход: Java Hipster
Хочется собрать всех этих инноваторов и провести с ними воспитательную беседу примерно такого формата: https://www.youtube.com/watch?v=7n_1zsCVBxw&t=7 (Один из лучших гейм-артов, смотреть на самом большом экране что есть и сделать погромче)