Spring Framework于2004年首次发布,是顶级Java框架之一。 Spring 4已于2013年12月发布,它是支持Java 8的第一个框架版本。了解为什么应该考虑将应用程序升级到Spring 4。
注意:我最初将此博客文章写在公司博客http://blog.goyello.com上 。 您可以在这里找到原始文章: http : //blog.goyello.com/2015/11/30/5-reasons-to-upgrade-to-spring-4/ 。
#1使用Java 8加快开发速度
2014年发布的Java 8是自Java 1.5以来最大的更新。 毫无疑问,您应该考虑升级到Java 8,因为:
- Java 8更快
- Java 8具有Lambda表达式
- Java 8具有Streams API
- Java 8具有新的日期和时间API
在以下文章中了解更多信息: https : //dzone.com/articles/why-java-8-1并记住Java 7现在已经停产: https : //www.java.com/en/download/faq /java_7.xml
Spring 4是完全支持Java 8的框架的第一个版本,如果要在Java 8中使用Spring,则肯定需要升级。
使用Spring 4和Java 8可以轻松创建更紧凑,更简洁的代码。例如,Spring的许多现有接口和新接口都是可以在lambda表达式中使用的功能接口。 核心框架支持新的日期和时间API,但您也可以在Thymeleaf视图或Spring Data JPA中使用它。 另一个示例是框架中对java.util.Optional
的支持。 例如,您可以使用@RequestParam
@MatrixVariable
, @RequestHeader
@MatrixVariable
和@MatrixVariable
注入它。 Spring还为Stream
, Charset
, Currency
和TimeZone
提供了现成的转换器。
#2生产率提高
随后的每个Spring版本都附带了许多改进,可以简化开发。 现在,越来越多需要自定义解决方案的任务已成为框架的一部分。 例如,在Spring中,最终可以注入Java泛型类型。 Spring将自动将泛型视为@Qualifier
一种形式。 @EventListener
和通用事件的引入简化了Spring应用程序中的事件处理。 Spring不仅引入了对JCache(JSR-107)的支持,而且随着时间的推移改进了其自身的缓存抽象。 如果您碰巧使用JMS,则可能会在此有所改进,主要是在配置( @EnableJms
)和注册端点( @JmsListener
)方面。
测试基础架构中有许多更改,可以更快地创建集成测试。 新的TestTransaction
API以编程方式管理事务,按类或按方法执行SQL脚本,使用JUnit规则而不是JUnit测试运行器执行测试只是更改的几个示例。
#3最新
Spring框架共存并与许多框架和第三方库集成。 依赖关系已更新,因此您可以使用最新的依赖关系。 Spring与JEE API(例如JMS 2.1,JPA 2.1,Bean Validation 1.1或已经提到的JCache)集成良好。 Spring还从Money和Currency API中javax.money
了对javax.money
包类型的绑定和转换的支持。 它与Gson(杰克逊的替代品)和Google Protocol Buffers数据协议集成在一起。
还值得一提的是,Spring支持WebSockets,SockJS和HTTP Streaming以及服务器发送事件之类的标准,该标准受框架支持。
#4不再有JAR地狱
引入Spring IO Platform项目对使用Maven或Gradle的Spring应用程序中依赖项的管理方式具有重大影响。
Spring IO平台提供了各种Spring项目及其依赖项的版本。 将上面显示的配置添加到构建脚本后,您就可以声明依赖项,而不必担心版本号。
由于升级依赖版本时出现的一些问题,开发人员不敢这样做。 有了平台,恐惧就消失了。 在许多情况下,升级平台支持的所有依赖项版本可能只需要更改平台版本。
#5快乐的开发人员
开发人员喜欢使用最新技术。 将框架升级到最新版本可为他们提供提高生产力,学习新知识和提高技能的机会。 这也可能是一种使他们保持积极性并防止他们考虑退出传统项目的方法。
资源资源
Spring 4和Java 8
- http://www.baeldung.com/java-8-spring-4-and-spring-boot-adoption
- https://spring.io/blog/2015/06/02/spring-4-and-java-8-adoption
- https://dzone.com/guides/the-java-ecosystem-2015-edition
正在迁移
- https://spring.io/blog/2014/01/30/migrating-from-spring-framework-3-2-to-4-0-1
- https://github.com/spring-projects/spring-framework/wiki/Migrating-from-earlier-versions-of-the-spring-framework
Spring IO平台
- http://docs.spring.io/platform/docs/current/reference/htmlsingle/#platform-documentation
翻译自: https://www.javacodegeeks.com/2015/12/5-reasons-consider-upgrading-applications-spring-4.html