Мне очень нравится концепция DI и слабосвязанная система. Тем не менее, я нашел инструмент в Spring в лучшем случае. Например, трудно выполнить "рефакторинг", например. для изменения имени bean, объявленного в Spring. Я новичок в Spring, поэтому мне что-то не хватает. Нет времени для компиляции и т.д.
Мой вопрос в том, почему мы хотим использовать XML для хранения конфигурации? ИМО, вся идея Spring (часть IoC) заключается в принуждении определенного шаблона создания. В мире моделей "банд-оф-четыре" шаблоны проектирования являются информативными. Spring (и другие DI), с другой стороны, обеспечивает очень предписанный способ подключения приложения к отдельным компонентам.
Я поместил Scala в заголовок, а также изучил его. Как вы, ребята, думаете создать язык домена (что-то вроде библиотеки актеров) для заглатывания. Написав фактический код инъекции в Scala, вы получите все полезные свойства и инструменты, которые прилагаются к нему. Хотя разработчики приложений также могут обойти вашу инфраструктуру, я думаю, что это относительно легко стандартизировать, например, основной веб-сайт/приложение будет загружать только компоненты определенного шаблона.