微服务之新特性和发展方向

北京中科癜风医院好嘛 http://m.39.net/pf/a_4651571.html

为了支持reactive使用场景,内嵌的容器包结构被重构了的幅度有点大。EmbeddedServletContainer被重命名为WebServer,并且org.springframework.boot.context.embedded包被重定向到了org.springframework.boot.web.embedded包下。举个例子,如果你要使用TomcatEmbeddedServletContainerFactory回调接口来自定义内嵌Tomcat容器,你现在应该使用TomcatServletWebServerFactory。

Servlet-specific的serverproperties调整

大量的Servlet专属的server.*properties被移到了server.servlet下:

.

由此可以看出一些端倪,那就是server不再是只有servlet了,还有其他的要加入。

Actuator默认映射

Actuator的端点(endpoint)现在默认映射到/application,比如,/info端点现在就是在/application/info。但你可以使用management.context-path来覆盖此默认值。

ConditionalOnBean

ConditionalOnBean现在的判断条件由OR变为了AND。

RemoteCRaSHshell

1.5的时候此远程工具被标为deprecated,2.0的时候将会把这个支持彻底remove掉,以及基于此功能的项目也会被删除掉。

SpringLoaded不再支持

由于SpringLoaded项目已被移到了attic了,所以不再支持SpringLoaded了。现在建议你去使用Devtools。SpringLoaded不再支持了。

Hazelcast自动配置不再支持

不能再自动配置HazelcastInstance进行缓存。因此,spring.cache.hazelcast.config属性不再可用。

默认connectionpool变了

默认的连接池已经由Tomcat切换到了HikariCP。如果你过去使用spring.datasource.type在基于Tomcat的应用程序中强制使用Hikari,现在你可以删除这个覆盖了。同样的,如果想要使用Tomcat的连接池,只需要简单的加入以下配置就可以了:

spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource

ServletFilters

针对一个Filter默认的dispatcher类型现在为DipatcherType.REQUEST,这样就保证了SpringBoot和Servlet默认的配置统一了。

SpringSecurity

SpringSecurity的filter现在可以自动配置如下类型了:ASYNC,ERROR,andREQUEST。这样就让SpringBoot中的配置和SpringSecurity默认配置保持一致了。

SpringSession

SpringSession的filter现在支持自动配置如下dispatcher类型ASYNC,ERROR,andREQUEST。同样是为了让SpringBoot的配置与SpringSession的默认配置保持一致。值得注意的是从SpringSession2.0起,Mongo和GemFire将不再被支持。

Jetty

要求Jetty最低版本为9.4。

Tomcat

要求Tomcat最低版本为8.5。

Hibernate

要求Hibernate最低版本为5.2。

Gradle

要求Gradle最低版本为3.4。

SendGrid

SendGrid最低支持版本是3.2。为了支持这次升级,username和password已经被干掉了。因为APIkey现在是唯一支持的认证方式。

Starter的传递依赖的改变

以前有几个SpringBootstarter是依靠SpringMVC和spring-boot-starter-web传递的。为了对SpringWebFlux的支持,spring-boot-starter-mustache和spring-boot-starter-thymeleaf不再依赖spring-boot-starter-web。现在你要自己选择并添加spring-boot-starter-web或spring-boot-starter-webflux作为依赖。

记住:web和webflux是平行的关系。我们之前的文章中提到过springwebflux。你可以移步查看:Spring5新增全新的reactiveweb框架:webflux。

Solr健康指标

针对Solr的健康检查信息不再是solrStatus这个属性了。现在是statusproperty,是一个标准状态属性,对应于一个的整型值。

默认代理策略

SpringBoot现在默认是使用CGLIB代理,同时包含AOP支持。如果你需要基于代理(proxy-based)的代理策略,你需要把spring.aop.proxy-target-class设置为false。

基于CLI的测试

从SpringBoot的CLI中删除了测试支持,现在建议你使用Maven或Gradle构建应用程序,去使用它们提供的丰富的测试支持吧。

ConfigurationProperties

ConfigurationProperties里的ignoreNestedProperties属性已被删除。

Multipart配置改变

为了更好的反映Servlet的特性,spring.


转载请注明:http://www.aierlanlan.com/tzrz/4950.html