Совместимость Spring 4.0 с Java JDK версии 7
Наша команда планирует перейти на Java 7 с Java 6 и Spring 4.0 с Spring 3.x.
Мой вопрос заключается в том, насколько Spring 4.0 настроен для Java 7. Я обнаружил, что Spring 4.0 готов к Java 8, но ничего особенного для Java 7 нет.
2 ответа
Spring 4 обеспечивает очень хорошую поддержку версии Java 8. Это означает, что у них также есть хорошая поддержка Java 7. Если вы планируете использовать Spring 4 с Java 7 или 8, проблем не должно быть. Это будет идеально соответствовать. Однако Spring 4 обновил свой API-интерфейс, совместимый с кодом Java 8, который имеет множество улучшений в языке, таких как Lambdas и т. Д.
Он всегда совместим с предыдущими версиями, и вам не нужно беспокоиться ни о чем, кроме 90% проекта будут использовать Java 6 или 7 в течение следующих нескольких лет.
Мой совет: если вы могли бы начать свой проект с Java 8, это хорошо для будущего, так как миграция позже будет иметь больше изменений с синтаксисом нового Apis. Также это информация, предоставленная командой Spring о поддержке Java 8 в Spring:
Java 8 идеально подходит для модели программирования Spring. Мы считаем, что комбинация очень привлекательна, поскольку Java 8 предлагает элегантные функции языка и улучшения библиотеки для немедленного использования с типичными API-интерфейсами Spring. Фактически Spring Framework 4.0 является первой в отрасли полностью интегрированной платформой приложений с поддержкой Java 8. Мы приложили дополнительные усилия, чтобы обеспечить все, что необходимо для начала разработки приложений Spring на Java 8 сегодня, еще до промышленного запуска Java 8 в марте.
также я нашел полезные детали в весенней документации http://docs.spring.io/spring/docs/current/spring-framework-reference/html/new-in-4.0.html.
Они четко упомянули как
Тем не менее, для новых проектов разработки, основанных на Spring 4, мы рекомендуем использовать Java 7 или 8.
Обратите внимание, что минимальная поддерживаемая версия Java для Spring 4 повышена до Java 6.
Надеюсь, этот ответ поможет вам.
Я наткнулся на несколько проблем... а именно, если вы компилируете с -Werror on и используете что-то вроде аннотации PropertySource, это импортирует класс Java 8 Repeatable и не позволяет вашему проекту успешно скомпилироваться. Если вы избегаете этих классов, то все в порядке, но тогда... тогда вы не используете последнюю функциональность Spring 4.