Будет ли поддержка Spring CDI?

Spring был хорошей основой для DI и AOP для разработчиков Java.

Теперь появилась стандартная спецификация для DI и AOP, которая является CDI.

Любой хороший продукт не может оставаться хорошим, не поддерживая соответствующие стандарты. (Например, Hibernate поддерживает спецификацию JPA)

Мой вопрос: поддерживает ли Spring стандартную спецификацию (CDI) в своих будущих версиях?

Ответы

Ответ 1

Несмотря на то, что Spring является открытым исходным кодом и используется и поддерживается большим сообществом, его будущая разработка контролируется одной компанией (spring source/vmware). Таким образом, его решения по своей сути являются непубличными и, безусловно, подвержены влиянию большого количества факторов, таких как потребности течения в сообществе, но, безусловно, также финансовые и политические аспекты (в конце концов, все это касается денег).

Поэтому важно заключить, что источник Spring/Spring не привязан к какому-либо официальному процессу (например, JCP), и нельзя предвидеть, какой источник Spring будет решать в будущем. С другой стороны, прошлые действия приводят к предположению, что источник Spring не кашель - особенно заинтересован в реализации полного CDI-стека (JSR 299). Помните, что хотя источник Spring первоначально подключился к JCP для JSR 299 (вместе с sun, redhat, google,...), у всех у них был ужасный бой по этому поводу, в результате чего появилась вилка JSR 330, которая не что иное, как подмножество JSR 299. Плюс: реализация (stateful) CDI-модели инъекции зависимостей в любой будущей версии Spring была бы настоящей связкой.

Итак, чтобы сделать длинный ответ коротким: даже если мы не знаем о будущем, довольно безопасно предположить, что источник Spring/Spring никогда не будет поддерживать JSR 299 в целом, но придерживаться их реализация JSR 330.