Вы часто будете видеть, что Spring определяет зависимости от всех типов библиотек, и что - много раз - в самой платформе Spring использует отражение для вызова любого из множества API-интерфейсов в диапазоне версий для библиотеки.,Фреймворк делает все возможное, чтобы облегчить вам задачу, поскольку потребитель перед лицом несовместимых API-интерфейсов удивителен.
Одно дело, когда два API настолько различны, что их можно рассматривать как два разных импорта, например, Hibernate 2 против Hibernate 3. Но даже в версиях Hibernate 3.x есть тонкие разрывы API, которыеВесна знает о и работает с.В Spring 3.1 должна быть поддержка Hibernate 4, которая является еще одним радикально отличным API от Hibernate 2 или 3, так что вы можете ожидать, что он также будет поддерживать эту версию.Хорошо, если зависимости Spring не являются обязательными в дескрипторе Maven!
Работая с поддержкой Spring Hibernate 3, вы получаете здравый, общий интерфейс независимо от того, какой у вас Hibernate 3.Так что, если вы видите ситуацию, когда Spring задает старую версию стабильного API, такую как спецификация сервлета, не беспокойтесь, возможно, он также поддерживает более новые версии.Например, Spring 3.1 будет более полно поддерживать сервлет 3.