美文网首页程序员it那点事
springboot2你准备好了么

springboot2你准备好了么

作者: QIN_87e1 | 来源:发表于2018-04-28 11:47 被阅读0次

springboot2 发布之后,您是否准备好升级到2.0呢,升级的优势在哪?要注意哪些问题?

一,springboot的优势

传统的java项目大多以spring容器融合其他orm框架进行开发,配置繁琐,容易出错。springboot的出现在很大程度上提高了开发效率:

1.自动化配置:Spring Boot为每一个Starter都提供了自动化的Java配置类,用来替代我们传统Spring应用在XML中繁琐且并不太变化的Bean配置;同时借助一系列的条件注解修饰,使得我们也能轻松的替换这些自动化配置的Bean来进行扩展。

2.简化依赖管理:在Spring Boot结合maven提供了一系列的Starter POMs,将各种功能性模块进行了划分与封装,让我们可以更容易的引入和使用,有效的避免了用户在构建传统Spring应用时维护大量依赖关系而引发的JAR冲突等问题。

3.嵌入式容器:除了代码组织上的优化之外,Spring Boot中支持的嵌入式容器也是一个极大的亮点,借助这个特性使得Spring Boot应用的打包运行变得非常的轻量级,也方便了开发的调试。

4.生产级的监控端点:spring-boot-starter-actuator的推出可以说是Spring Boot在Spring基础上的另一个重要创新,为Spring应用的工程化变得更加完美。该模块并不能帮助我们实现任何业务功能,但是却在架构运维层面给予我们更多的支持,通过该模块暴露的HTTP接口,我们可以轻松的了解和控制Spring Boot应用的运行情况。

当然还有很多其他的特性,例如非常方便对外提供rest接口等。

Springboot2又有哪些新特性呢?

1.对HTTP/2的支持。HTTP/2对每个服务器只使用一个连接,而不是每个文件一个连接。这样,就省掉了多次建立连接的时间,这个时间对TLS尤其明显,对于使用SSL/TLS的网站能够显著地提升性能。

2.基于Spring 5构建,Spring的新特性均可以在Spring Boot 2.0中使用。spring 5 使用了很多jdk 8 的新特性,支持 jdk 8和jdk 9.需要注意的是,最低版本要求 jdk 8+,tomcat 8.5+,Hibernate5.2+,Thymeleaf3+,不再支持的组件有Portlet(以前老门户网站会用到),Velocity(模板),JasperReports(报表),XMLBeans等。

3.新增了更灵活的属性绑定API(可以不通过@ConfigurationProperties注解就能实现配置内容读取和使用)

4.对Spring Security整合的简化配置、Gradle插件的增强、Actuator模块的优化等

在Spring Boot 2.0的升级过程中,可能这部分内容将是大家要做出较多修改的地方,所以建议大家在这里留个心眼。由于Spring Boot在构建Starter POMs的时候并非是扁平的一层结构,一些功能模块Starter之间是存在包含引用关系的,比如:spring-boot-starter-thymeleaf中包含了spring-boot-starter-web,因为thymeleaf模版引擎之前肯定是在Spring MVC下使用的。但是,在Spring Boot 2.0中,WebFlux的出现对于Web应用的解决方案将不再唯一,因此spring-boot-starter-thymeleaf中的依赖就不在包含spring-boot-starter-web,开发人员需要自己添加spring-boot-starter-web或spring-boot-starter-webflux来决定是使用哪个模块实现Web应用。

除了类似上面的依赖重组之后,在Spring Boot 2.0中对于配置属性的重定位也是比较多的,这将导致一些原有的配置将不再生效,需要我们手工的去修改这些配置的Key来完成升级适配。比如,一些与servlet相关的server.*属性重定位到server.servlet前缀下:

Old propertyNew property

server.context-parameters.*server.servlet.context-parameters.*

server.context-pathserver.servlet.context-path

server.jsp.class-nameserver.servlet.jsp.class-name

server.jsp.init-parameters.*server.servlet.jsp.init-parameters.*

server.jsp.registeredserver.servlet.jsp.registered

server.servlet-pathserver.servlet.path

更多的依赖变化、配置重定位以及默认配置的变化,读者可自行查阅官方升级手册:Spring Boot 2.0 Migration Guide

二,对应微服务套件spring cloud 版本的变化

相关文章

  • springboot2你准备好了么

    springboot2 发布之后,您是否准备好升级到2.0呢,升级的优势在哪?要注意哪些问题? 一,springb...

  • 你准备好了么

    最近大部分人在忙着吃瓜,但这些信息中看到一个热榜是张艺兴好严格,打开之后发现是最近的一个新综艺《偶像练习生》...

  • 你准备好了么?

    这是一个逃课的下午,我在寝室百无聊赖,看了三集昼颜,吃了半包麻花,灌了自个两壶水,做了十个俯卧撑,感觉汗水在背脊流...

  • 你准备好了么

    上次写文章已经不记得是什么时间了。本来这篇文章是准备在7月1号的凌晨4点半去写,看到赵昂老师最早的起步就是在这个时...

  • 你准备好了么?

    准备失去 我们都是没有准备的人 因为这事上比无法阻止的死亡更糟糕的事莫过于不会停止的时间 我们无法准备,所以迎接着...

  • 你准备好了么?

    有人问过我,为什么会选择开发,做一个别人眼中的程序媛,不仅每天工作量大,而且电脑辐射那么强不害怕皮肤黯淡长痘黑眼...

  • 你准备好了么?

    时间不等人 转眼间三月快结束了!你可还有什么计划没做完?经常想说2017年快过去了,确实是这样的!一年开始的宏图壮...

  • 你准备好了么

    身边有很多朋友都劝过我,谈一个对你好的吧,至少粘着你对你专情的。苦笑摇头。人间两难,撞不见得不到。能有情谊的不愿搭...

  • 你准备好了么?

    今天,花了一点时间,简单了解了关于在职研究生的相关信息。一句话,没有让我失望。 近期,突然发现周边很多年轻同事都是...

  • 我准备好了, 你准备好了么

    时光飞逝,转眼已过三十而立好几年。 回首往昔,焦急的内心、对比的压力,总置自身于挣扎之中,耗费一批批的脑细胞却也无...

网友评论

    本文标题:springboot2你准备好了么

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