Spring Boot 2.0 新特新

  • 内容
  • 评论
  • 相关

 

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.

 

起步文档:Building an Application with Spring Boot

官方文档:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/api/

Spring Boot 官网:http://projects.spring.io/spring-boot/

 

  1. 1、Spring Boot 2是完全基于Java8,这也就证明了java8已经被大家全面接受和普及, 虽然java9也已经发布, 但是java9的普及可能还需要一段时间,但是现在Spring Boot 2也同时对java9做了一些支持。
  1. 2、http请求方面, 引入了Webflux, 他是基于Spring Webflux, 它是一个新的非堵塞函数式 Reactive Web 框架,可以用来建立异步的,非阻塞,事件驱动的服务,并且扩展性非常好。性能对比于之前的同步方式有了一定的提高(web和webflux是平行的关系)。
  1. 3、db方面,默认引入了HikariCP,替代了之前的tomcat-pool作为底层的数据库连接池, 对比于tomcat-pool, HikariCP拥有更好的性能,总而言之就是提高了db的访问速度。(如果一定要使用tomcat-pool:spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource)
  1. 4、redis方面, 默认引入了Lettuce, 替代了之前的jedis作为底层的redis链接方式, 同样Lettuce底层基于netty框架,使用异步的方式,访问redis,并且如果结合之前的Webflux, 可以达成请求的全异步,同样对比于之前的jedis,统一了redis和redis-cluster的访问方式,简化了开发人员的使用方式,同时也提高了redis的访问速度。
  1. 5、es方面,默认也从之前的支持es2升级到了es5+, es5也出来了一段时间, 大部分的人应该也是通过自己实现来完成es5的对接, 现在springboot2也是进行了es5的支持。
  1. 6、metrics方面,Spring Boot 2引入了Micrometer,来统一metrics的规范,使得开发人员更好的理解和使用metrics的模块,而不需要关心对接的具体存储是什么东西。
  1. 7、Spring Boot 2 同时也加入了 对于OAuth 2.0的支持, 使得开发人员更加友好的和方面的使用spring-security来完成权限模块的开发。
  1. 8、目前Spring Boot 2已经发不了RC2的版本了,官方在2月28日已经正式发布第一个Release版本。
  1. 9、loc-framework框架
  1. 10、Tomcat,Tomcat最低版本要求8.5
  1. 11、内嵌容器包结构调整:为了支持reactive使用场景,内嵌的容器包结构被重构了的幅度有点大。EmbeddedServletContainer被重命名为WebServer,并且org.springframework.boot.context.embedded 包被重定向到了org.springframework.boot.web.embedded包下。举个例子,如果你要使用TomcatEmbeddedServletContainerFactory回调接口来自定义内嵌Tomcat容器,你现在应该使用TomcatServletWebServerFactory。
  1. 12、Jetty,要求Jetty最低版本为9.4
  1. 13、Hibernate,要求Hibernate最低版本为5.2
  1. 14、Gradle,要求Gradle最低版本为3.4
  1. 15、Servlet Filters,针对一个Filter默认的dispatcher类型现在为 DipatcherType.REQUEST,这样就保证了Spring Boot和Servlet默认的配置统一了。
  1. 16、Spring Security,Spring Security的 filter 现在可以自动配置如下类型了: ASYNC, ERROR, and REQUEST 。这样就让Spring Boot中的配置和Spring Security默认配置保持一致了。
  1. 17、Starter 的传递依赖的改变,以前有几个Spring Boot starter是依靠Spring MVC和spring-boot-starter-web传递的。 为了对Spring WebFlux的支持,spring-boot-starter-mustache和spring-boot-starter-thymeleaf不再依赖spring-boot-starter-web。现在你要自己选择并添加spring-boot-starter-web或spring-boot-starter-webflux作为依赖。
  1. 18、Solr健康指标,针对Solr的健康检查信息不再是solrStatus这个属性了。现在是status property,是一个标准状态属性,对应于一个的整型值。
  1. 19、默认代理策略,Spring Boot现在默认是使用CGLIB代理,同时包含AOP支持。如果你需要基于代理(proxy-based)的代理策略,你需要把spring.aop.proxy-target-class设置为false。
  1. 20、Multipart配置改变,为了更好的反映Servlet的特性, spring.http.multipart. 属性已经被命名为 spring.servlet.multipart。
  1. 21、Kafka支持批量消费,现在支持一次性批量消费多个ConsumerRecord,你可以创建一批的监听器(listener),这样设置:spring.kafka.listener.type=batch。使用了自动配置工厂的Kafka listener现在支持@SendTo。
  1. 22、ConfigurationProperties 验证,如果你希望@ConfigurationProperties对象上开启验证,那么只需要添加 @Validated就可以了。
  1. 23、Job command line runner 顺序,CommandLineRunner 现在执行批处理job的启动order是0。

 

 

 

平凡的脚步也可以走完伟大的行程。

喜欢 3

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注

Title - Artist
0:00