美文网首页我爱编程
Spring Boot 2 主要变化

Spring Boot 2 主要变化

作者: wydnpu | 来源:发表于2018-02-08 16:08 被阅读0次

    参考文档:

    1. new-spring-boot-2
    2. Spring-Boot-2.0.0-M1-Release-Notes
    3. Spring-Boot-Milestones

    根据 Spring Boot的milestones,2018年2月底就将发布,因为在研究spring cloud,顺便梳理下Spring Boot 2 的主要变化。

    依赖变化

    Java8及以上

    Spring Boot 2将不在支持Java6和7,Java8是基线。Java9也会全面兼容。1.x版本不会支持Java9

    多余的话,软件领域技术更新其实非常快,我在面试Java开发人员时,发现很多人对Java8依然没有任何了解。但是从业界看来,Java8已经是基线版本了。

    Java生态支持升级

    这当然是必然的。官方文件中有描述,简单罗列几个主要的:

    1. Jetty >= 9.4
    2. Tomcat >= 8.5
    3. Hibernate >= 5.2
    4. Gradle >= 3.4
    5. 国内mybatis用的比较多,mybatis已经在支持springboot2了 milestone

    Spring Framework 5.0

    Spring Boot 2基于Spring5

    Gradle插件修改

    Spring Boot的Gradle插件做了很多改进,可参考官方文档:gradle-plugin

    为了灵活,插件默认不在提供spring依赖管理,需要额外配置:

    apply plugin: 'io.spring.dependency-management'
    

    功能升级

    支持Reactive

    目前已经提供了对Redis\MongoDB\Cassandra\Couchbase支持
    spring-reactive-sample

    安全全面升级

    默认情况下,所有数据都是安全的,包括静态文件和Actuator端点。

    看到403, 那大概是忘记配置Security了。

    生产环境支持

    Spring Boot Actuator得到极大的提升

    web框架

    同时支持WebFlux、Jersey、Spring-MVC,之前只支持Spring-MVC

    支持自定义端点

    如下,可以创建一个 fruits 的监控端点

    @Endpoint(id = "fruits")
    public class FruitsEndpoint {
     
        @ReadOperation
        public Map<String, Fruit> fruits() { ... }
     
        @WriteOperation
        public void addFruits(@Selector String name, Fruit fruit) { ... }
    }
    

    总结

    变化还很多,基于时间和个人能力限制,不继续描述。但是整体来说,个人觉得最重要的变化是:

    1. Java8最低版本,这让Spring可以利用Java8的特性大规模重写,有效的降低开发、维护成本并提升性能。
    2. 对发布和生产环境更下监控管理更友好,这也是微服务趋势下的必然,Spring Cloud 从 Finchley 版本开始就是基于Spring Boot 2
    3. 对安全更进一步重视,同样在微服务下,错误的默认配置很容易酿成大祸,还是严格点好。

    相关文章

      网友评论

        本文标题:Spring Boot 2 主要变化

        本文链接:https://www.haomeiwen.com/subject/qnmttftx.html