久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

請注意 SpringBoot 2.0 新坑 我剛剛從坑里爬出來

 quasiceo 2018-08-21

以Java 8 為基準(zhǔn)

Spring Boot 2.0 要求Java 版本必須8以上,, Java 6 和 7 不再支持。

內(nèi)嵌容器包結(jié)構(gòu)調(diào)整

為了支持reactive使用場景,,內(nèi)嵌的容器包結(jié)構(gòu)被重構(gòu)了的幅度有點(diǎn)大,。EmbeddedServletContainer被重命名為WebServer,并且org.springframework.boot.context.embedded 包被重定向到了org.springframework.boot.web.embedded包下,。舉個例子,,如果你要使用TomcatEmbeddedServletContainerFactory回調(diào)接口來自定義內(nèi)嵌Tomcat容器,你現(xiàn)在應(yīng)該使用TomcatServletWebServerFactory,。

Servlet-specific 的server properties調(diào)整

大量的Servlet專屬的server.* properties被移到了server.servlet下:

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

Actuator 默認(rèn)映射

Actuator的端點(diǎn)(endpoint)現(xiàn)在默認(rèn)映射到/application,,比如,/info 端點(diǎn)現(xiàn)在就是在/application/info,。但你可以使用management.context-path來覆蓋此默認(rèn)值,。

@ConditionalOnBean

@ConditionalOnBean現(xiàn)在的判斷條件由OR變?yōu)榱薃ND。

Remote CRaSH shell

1.5的時候此遠(yuǎn)程工具被標(biāo)為deprecated,,2.0的時候?qū)堰@個支持徹底remove掉,,以及基于此功能的項(xiàng)目也會被刪除掉。

Spring Loaded不再支持

由于Spring Loaded項(xiàng)目已被移到了attic了,所以不再支持Spring Loaded了?,F(xiàn)在建議你去使用Devtools,。Spring Loaded不再支持了。

Hazelcast自動配置不再支持

不能再自動配置HazelcastInstance進(jìn)行緩存,。 因此,,spring.cache.hazelcast.config屬性不再可用。

默認(rèn)connection pool變了

默認(rèn)的連接池已經(jīng)由Tomcat切換到了HikariCP,。如果你過去使用spring.datasource.type在基于Tomcat的應(yīng)用程序中強(qiáng)制使用Hikari,,現(xiàn)在你可以刪除這個覆蓋了。同樣的,,如果想要使用Tomcat的連接池,,只需要簡單的加入以下配置就可以了:

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

Servlet Filters

針對一個Filter默認(rèn)的dispatcher類型現(xiàn)在為 DipatcherType.REQUEST,這樣就保證了Spring Boot和Servlet默認(rèn)的配置統(tǒng)一了,。

Spring Security

Spring Security的 filter 現(xiàn)在可以自動配置如下類型了: ASYNC, ERROR, and REQUEST ,。這樣就讓Spring Boot中的配置和Spring Security默認(rèn)配置保持一致了。

Spring Session

Spring Session的 filter 現(xiàn)在支持自動配置如下dispatcher類型 ASYNC, ERROR, and REQUEST ,。同樣是為了讓Spring Boot的配置與Spring Session的默認(rèn)配置保持一致,。值得注意的是從Spring Session 2.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已經(jīng)被干掉了,。因?yàn)锳PI key現(xiàn)在是唯一支持的認(rèn)證方式,。

Starter 的傳遞依賴的改變

以前有幾個Spring Boot starter是依靠Spring MVC和spring-boot-starter-web傳遞的。 為了對Spring WebFlux的支持,,spring-boot-starter-mustache和spring-boot-starter-thymeleaf不再依賴spring-boot-starter-web?,F(xiàn)在你要自己選擇并添加spring-boot-starter-web或spring-boot-starter-webflux作為依賴。

記?。簑eb和webflux是平行的關(guān)系,。我們之前的文章中提到過spring webflux。你可以移步查看:Spring 5 新增全新的reactive web框架:webflux,。

Solr健康指標(biāo)

針對Solr的健康檢查信息不再是solrStatus這個屬性了?,F(xiàn)在是status property,是一個標(biāo)準(zhǔn)狀態(tài)屬性,,對應(yīng)于一個的整型值,。

默認(rèn)代理策略

Spring Boot現(xiàn)在默認(rèn)是使用CGLIB代理,,同時包含AOP支持。如果你需要基于代理(proxy-based)的代理策略,,你需要把spring.aop.proxy-target-class設(shè)置為false,。

基于CLI的測試

從Spring Boot的CLI中刪除了測試支持,現(xiàn)在建議你使用Maven或Gradle構(gòu)建應(yīng)用程序,,去使用它們提供的豐富的測試支持吧,。

@ConfigurationProperties

@ConfigurationProperties里的ignoreNestedProperties屬性已被刪除。

Multipart配置改變

為了更好的反映Servlet的特性, spring.http.multipart. 屬性已經(jīng)被命名為 spring.servlet.multipart,。

ps:其實(shí)就是因?yàn)閣ebflux來了,,只能把servlet和webflux區(qū)分開來。

Mustache 模板默認(rèn)文件擴(kuò)展名

過去Mustache模板的默認(rèn)的文件擴(kuò)展名是.html?,F(xiàn)在.mustache成了官方指定的擴(kuò)展名,,而且很多的IDE插件已經(jīng)支持了此后綴。你可以通過spring.mustache.suffix來覆蓋現(xiàn)在的默認(rèn)的支持,。

Spring Framework 5.0

Spring Boot 2.0 是建立在Spring Framework 5.0之上的(最低要求),。Spring 5最大的亮點(diǎn)就是reactive。你可以去看看這篇:Spring 5 新增全新的reactive web框架:webflux,。

松綁定改善

松綁定已經(jīng)得到改善,。這里簡單的舉個例子:

簡單的屬性在刪除特殊字符然后轉(zhuǎn)成小寫后進(jìn)行綁定。比如:

下面的屬性最終都會被映射為spring.jpa.databaseplatform=mysql:

spring.jpa.database-platform=mysql

spring.jpa.databasePlatform=mysql

spring.JPA.database_platform=mysql

有關(guān)詳細(xì)信息,,我們可以查閱:https://github.com/spring-projects/spring-boot/wiki/Relaxed-Binding-2.0

WebFlux 和 WebFlux.fn支持

Spring Boot 2.0 提供了一個新的starter ,,用來支持Reactive Spring web frameworks。該starter為spring-boot-starter-webflux,。其中Reactor Netty是默認(rèn)的web引擎(spring-boot-starter-reactor-netty)。

Reactive數(shù)據(jù)庫支持

Spring Boot 2.0 對一下的數(shù)據(jù)庫提供了自動配置( auto-configuration )的reactive的支持:

MongoDB (spring-boot-starter-data-mongodb-reactive)

Redis (spring-boot-starter-data-redis-reactive)

Cassandra (spring-boot-starter-data-cassandra-reactive)

@DataMongoTest測試注解也是支持reactive的,。

@WebFluxTest支持

Reactive controller現(xiàn)在可以使用@WebFluxTest來測試,。它提供的功能和 @WebMvcTest類似。而且WebTestClient可以直接使用,,已經(jīng)被自動配置(auto-configured)了,。

支持使用@SpringBootTest自動配置WebTestClient

當(dāng)你使用@SpringBootTest with an actual server (that is, either DEFINED_PORT or RANDOM_PORT), a WebTestClient is available the same way TestRestTemplate is.

使用@SpringBootTest進(jìn)行WebTestClient自動配置

將@SpringBootTest用于實(shí)際服務(wù)器(即DEFINED_PORT或RANDOM_PORT)時,WebTestClient的可用方式與TestRestTemplate相同,。

Gradle插件

Spring Boot的Gradle插件已在很大程度上被重寫,,以實(shí)現(xiàn)一些重大的改進(jìn)。有關(guān)這方面的就不細(xì)講了,,感興趣的同學(xué)可以去一探究竟,。

/loggers端點(diǎn)POST的狀態(tài)碼改變

針對/loggers端點(diǎn)上POST操作的狀態(tài)碼已又200改為204。

Elasticsearch

Elasticsearch已升級到5.4,。 與Elastic公司宣布不再支持嵌入式Elasticsearch的情況一樣,,NodeClient的自動配置已被刪除。就是這么的節(jié)奏一致。現(xiàn)在你可以通過使用spring.data.elasticsearch.cluster-nodes自動配置TransportClient,,具體value可以是一個或多個要連接的節(jié)點(diǎn)的地址,。

Quartz Scheduler

Spring Boot 2 針對Quartz調(diào)度器提供了支持。你可以加入spring-boot-starter-quartz starter來啟用,。而且支持基于內(nèi)存和基于jdbc兩種存儲,。

Spring Data Web配置

Spring Boot公開了一個新的spring.data.web配置名稱空間,可以輕松配置分頁和排序,。

Json starter

一個全新的spring-boot-starter-json starter 聚合了很多常用的json工具,,可以支持對json的讀寫。

它不僅僅提供了jackson-databind而且當(dāng)你使用java8時候,,還提供了有用的模塊:jackson-datatype-jdk8, jackson-datatype-jsr310 和 jackson-module-parameter-names,。

之前使用jackson-databind的地方就可以使用這個新的starter了。

Thymeleaf starter

Thymeleaf starter現(xiàn)在包含了thymeleaf-extras-java8time,,開箱即用,。

InfluxDB

如果InfluxDB java client 和 the spring.influx.url 被設(shè)置, 一個InfluxDB client現(xiàn)在就會被自動配置。而且現(xiàn)在支持認(rèn)證,。

JdbcTemplate

Spring Boot自動配置(auto-configuration)的JdbcTemplate現(xiàn)在可以通過spring.jdbc.template命名空間進(jìn)行定制,。 此外,自動配置(auto-configuration)的NamedParameterJdbcTemplate在底層就是JdbcTemplate,。

jOOQ

Spring Boot現(xiàn)在可以根據(jù)DataSource自動檢測出jOOQ方言(類似于JPA方言),。

此外,還引入了@JooqTest用于只有jOOQ才能hold的測試場景,。

@DataRedisTest

新加了一個測試的時候針對redis的新注解,。

強(qiáng)大的Mongo客戶端自定義

現(xiàn)在可以通過MongoClientSettingsBuilderCustomizer這個bean來高度定制化Spring Boot的Mongo客戶端。

Cassandra

spring.data.cassandra 現(xiàn)在支持池化(pooling),。

Kafka listener支持批量消費(fèi)

現(xiàn)在支持一次性批量消費(fèi)多個ConsumerRecord,,你可以創(chuàng)建一批的監(jiān)聽器(listener),這樣設(shè)置:

spring.kafka.listener.type=batch

Web filters 初始化

Web filters 現(xiàn)在在所有支持的容器中都會被立刻初始化,。也就是eagerly,,急加載。

Auto-configuration 報(bào)告

現(xiàn)在不滿足條件(unconditional)的class也會被包含進(jìn)來,,在自動配置(auto-configuration)的Actuator端點(diǎn)的response中一并返回,。

重置logger操作

現(xiàn)在Loggers端點(diǎn)(endpoint) 支持reset日志級別到默認(rèn)設(shè)置。

Maven 插件屬性

插件的配置屬性現(xiàn)在的暴露方式有所改變,,現(xiàn)在所有的都是以spring-boot為前綴,,這是為了避免和其他插件沖突而導(dǎo)致錯誤。

比如,,以下命令行可以啟用profile foo:

mvn spring-boot:run -Dspring-boot.run.profiles=foo

Devtools 遠(yuǎn)程調(diào)試

已經(jīng)從Devtools中刪除了通過HTTP進(jìn)行遠(yuǎn)程調(diào)試的支持,。(#9489)

Jetty

為了和Tomcat和Undertow看齊,,現(xiàn)在對Jetty的所有的http method的請去都進(jìn)行壓縮,而不是之前那樣只對GET request進(jìn)行壓縮(#8184),。

Reactive server 自定義

當(dāng)配置一個reactive web server時,,針對Jetty,Tomcat,,Undertow的定制化器現(xiàn)在會被調(diào)用 (#9572),。

Jolokia

Jolokia不再是一個endpoint。并且默認(rèn)是禁用的,,這已和其他的web端點(diǎn)保持了一直,。它的配置已轉(zhuǎn)移到了management.jolokia。如果想啟用 Jolokia, 向你的配置加入management.jolokia.enabled=true就可以了,。

數(shù)據(jù)庫遷移

Liquibase 和 Flyway 配置的key 已被轉(zhuǎn)移到了spring 的命名空間下:(比如: spring.liquibase and spring.flyway ),。

Auto-configuration排序

@AutoConfigureOrder 默認(rèn)值由Ordered.LOWEST_PRECEDENCE變?yōu)?。 (#10142)

Auto-configuration測試工具

一個新的ApplicationContextRunner 測試工具讓我們測試自動配置變得容易,。 未來將會把所有的測試套件都遷移到這個模型上,。

Java 9 支持

基本支持了Java 9。之所以是“基本”,,是因?yàn)檫€沒得到用戶的驗(yàn)證,。

Jedis變?yōu)榱薒ettuce

Redis客戶端驅(qū)動現(xiàn)在由Jedis變?yōu)榱薒ettuce。使用Jedis的同學(xué)們,,大概知道方向了吧,。

但仍然支持Jedis,那么exclude掉io.lettuce:lettuce-core,,然后添加 redis.clients:jedis就是了,。

OAuth 2.0 支持

Spring Security OAuth 項(xiàng)目中的功能將會遷移到Spring Security中。將會OAuth 2.0,。

Mockito 1.x

Mockito 1.x不再支持@MockBean和@SpyBean,。 如果你不使用spring-boot-starter-test來管理依賴關(guān)系,則應(yīng)升級到Mockito 2.x,。

JSON-B 支持

除了Jackson 和 Gson,現(xiàn)在還支持了JSON-B ,。JSON測試支持也已更新為新的JsonbTester類,。

Session Endpoint

Spring Session 用現(xiàn)在可以通過/application/sessions Actuator Endpoint進(jìn)行查找和刪除session。

ConfigurationProperties 驗(yàn)證

如果你希望@ConfigurationProperties對象上開啟驗(yàn)證,,那么只需要添加 @Validated就可以了,。

Spring Mobile

針對Spring Mobile的自動配置和依賴不再支持,已被刪除,。汗,,我們之前的文章中還介紹過這個項(xiàng)目:使用Spring Boot開發(fā)一個Spring Mobile程序,。

Spring WebFlux支持錯誤約定

Spring Boot現(xiàn)在讓W(xué)ebFlux的錯誤約定和MVC保持一致就像使用MVC一樣:默認(rèn)視圖和JSON響應(yīng)錯誤,自定義錯誤視圖等等,。

TLS 配置 和 HTTP/2 支持

你現(xiàn)在可以為你的WebFlux應(yīng)用配置SSL,,使用server.ssl.* 配置屬性。Tomcat, Jetty, Undertow 和 Reactor Netty都支持,。

你現(xiàn)在也可以為你的MVC 或 WebFlux應(yīng)用配置HTTP/2:

使用server.http2.enabled,。

@KafkaListener支持使用@SendTo

使用了自動配置工廠的Kafka listener現(xiàn)在支持@SendTo。

Kotlin擴(kuò)展

Spring Boot 2.0 發(fā)布了Kotlin runApplication擴(kuò)展:

package com.example.demo

import org.springframework.boot.autoconfigure.SpringBootApplication

import org.springframework.boot.runApplication

@SpringBootApplication

class DemoApplication

fun main(args: Array) {

runApplication<DemoApplication>(*args)
  • 1
  • 2

}

Job command line runner 順序

CommandLineRunner 現(xiàn)在執(zhí)行批處理job的啟動order是0,。

支持自動配置的模板化歡迎頁

Spring Boot 2.0 現(xiàn)在支持靜態(tài)和模板化兩種歡迎頁類型,。它會首先去配置好的靜態(tài)內(nèi)容的目錄下查找index.html文件,如果沒找到,,然后就去查找index模板,。 只要找到了一個就會被用作歡迎頁。

Context path會在啟動時被打印

在Spring Boot之前的版本中,,對context path貌似并沒有那么的重視一樣?,F(xiàn)在當(dāng)我們使用內(nèi)嵌容器的時候, context path 會被打印在HTTP 端口的旁邊,,像這樣:

Tomcat started on port(s): 8080 (http) with context path ‘/foo’

測試優(yōu)化,,自動掃描Converter和GenericConverter

Converter 和 GenericConverter beans現(xiàn)在可以被@WebMvcTest和@WebFluxTest自動掃描到了。

Health vs. Status

status endpoint 已經(jīng)被刪除了,,現(xiàn)在改成了health,。這個health 端點(diǎn)既可以展示status也可以有更多的細(xì)節(jié)。 health 端點(diǎn)現(xiàn)在默認(rèn)是被暴露的(只展示status),。如果你希望展示更多的細(xì)節(jié)信息,,可以通過修改屬性management.endpoints.health.show-details來實(shí)現(xiàn):

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多