新SpringBoot2.2リリースを採用します

春のフレームワークのアップグレード

SpringBoot2.2基礎となるSpring Frameworkバージョンはアップグレード5.2

JMXは、デフォルトでは無効になっています

デフォルトでは、もはやJMXを有効になっていません。この機能を有効にする場合はtrue spring.jmx.enabled構成プロパティを=使用することができます。あなたがアプリケーションを管理するIDEの機能を使用する場合は、その場所でフラグを有効にすることができます。

Javaの13のサポート

春ブーツ2.2は、Java 13人のためのサポートを追加します。また、Java 8と11をサポートしています。

パフォーマンスの向上

使用することでproxyBeanMethods=false春ブーツに@Configuration起動時間とメモリ使用量の削減、クラスを。proxyBeanMethodsある@Configuration春のフレームワーク5.2 M1が導入された新しいプロパティが。proxyBeanMethodsまた、属性として使用することができる@SpringBootApplication、と@SpringBootConfiguration

使用中bootRunのGradleまたはspring-boot:runMavenの開発でアプリケーションを起動する、JVMは、記号(装備される-Xverify:none-XX:TieredStopAtLevel=1起動時間を短縮するために最適化されます)。13回の実行中にJDKは、-Xverify:noneそれが放棄されているので、指定されていません。

このバージョンではまた、他のいくつかのパフォーマンスの向上を作りました:

  • 大規模な構成属性のバインドに必要な時間が大幅に短縮されました
  • ときに春のブートPersistenceUnit時にHibernate独自のエンティティのスキャンが無効になっているので、それは、冗長であるため、完全に準備JPAエンティティをスキャンすることにより、
  • 注入点自動構成のみ豆の場合に適用され、改善されているが作成されなければなりません
  • 今だけのエンドポイントを有効にし、アクチュエータのエンドポイントビーン(JMX経由またはHTTP)に関連する公開を作成します。
  • 条件自動コーデックコンフィグレーションは、コーデックを使用する場合、それはもはや構成するように改善されていません
  • TomcatのMBeanのレジストリは、デフォルトでは無効になっているので、メモリフットプリントは約2メガバイトTomcatが低減され

遅延初期化

これが今することができspring.main.lazy-initialization、起動時の属性を減らすためにグローバルな初期化遅延を有効にします。この機能は、特定のコストや費用を支払うことが必要となる場合がありますのでご注意ください。

  • 任意の初期化遅延処理中のHTTPリクエストは時間がかかることがあります
  • あなたは後になるまで起動したときに今、失敗は通常発生しません。

注釈それぞれの定義を使用することにより、各Beanは遅延初期化をオプトアウトすることができます@Lazy(false)あなたができない場合は@Lazy(false)遅延初期化のオプトアウト、LazyInitializationExcludeFilterあなたの代わりに豆を使用することができます。たとえば、してはいけませんIntegrationFlowBeanが非アクティブに設定されている、次のコードを使用することができます。

@Bean
 静的LazyInitializationExcludeFilter integrationLazyInitExcludeFilter(){
     戻り LazyInitializationExcludeFilter.forBeanTypes(IntegrationFlow。クラス)。
}

JUnitの5

spring-boot-starter-testこれは、デフォルトのJUnit 5で利用可能になりました。あなたが移行する場合のJUnit 5に移行する準備ができているので、サポートレガシーのJUnitテストクラス4に古いエンジン5用のJUnitを含め、デフォルトでは。これは、同じモジュール内のテストクラスのJUnit 4のJUnit 5に基づいて混合して用いてもよいです。これは、必要に応じて徐々にJUnitの5に移行することができます。

ノート、JUnitのMavenのシュアプラグ4は、このサポートしていませんしてくださいlistenerプロパティ。あなたは、次のようなMavenの構成を有している場合:

< 構成> 
    < プロパティ> 
        < プロパティ> 
            < 名前>リスナー</ 名前> 
            < > com.example.CustomRunListener </ > 
        </ プロパティ> 
    </ プロパティ> 
</ 構成>

 

あなたは使用することができない、junit-vintage-engineと明示的に必要がJUnitの4にロールバック:

< 依存性> 
    < 依存性> 
        < のgroupId > org.springframework.boot </ のgroupId > 
        < たartifactId >ばねブートスタータ試験</ たartifactId > 
        < スコープ>テスト</ スコープ> 
        < 除外> 
            < 除外> 
                < のgroupId > ORG .junit.jupiter </ groupIdを> 
                < たartifactId > JUnitの-木星</ たartifactId > 
            </除外> 
            < 除外> 
                < のgroupId > org.junit.vintage </ のgroupId > 
                < たartifactId > JUnitのヴィンテージエンジン</ たartifactId > 
            </ 除外> 
            < 除外> 
                < のgroupId > org.mockito </ のgroupId > 
                < たartifactId > mockito -junit-木星</ たartifactId > 
            </ 除外> 
        </ 除外> 
    </ 依存> 
    < 依存性> 
        < のgroupId > JUnitの</ のgroupId > 
        < たartifactId > JUnitの</ たartifactId > 
        < バージョン> 4.12 </ バージョン> 
    </ 依存> 
</ 依存関係>

 

データソースのヘルスモニタリング

DataSource健康指標は余分を含めるvalidationQueryと認証クエリプロパティの使用に反対DataSourceここでも、helloプロパティによって提供される結果は、名前が変更されましたresult

FreeMarkerのテンプレートの設定

このバージョンでは、デフォルトのテンプレートファイルの拡張子Freemarkerのテンプレートを変更しました。これは、一貫性のあるセキュリティ設定のデフォルト春ブーツとWebアプリケーションのことができます。ときにアップグレード、名前の変更から既存のテンプレートです*.ftl*.ftlh

デベロッパーツールの設定ディレクトリ

今、世界のデベロッパーツールの設定のための好ましい位置です~/.config/spring-bootあなたは、次の書類のいずれかを使用できます。

  • spring-boot-devtools.properties
  • spring-boot-devtools.yaml
  • spring-boot-devtools.yml

@ConfigurationPropertiesScan

@ConfigurationPropertiesあなたは今の代わりに使用で、クラスのクラス注釈付きパススキャンで見つけることができます@EnableConfigurationProperties@Component追加@ConfigurationPropertiesScanスキャンを有効にするには、アプリケーションに。

2.2.0春ブーツでは、スキャン設定のプロパティではデフォルトで有効になっていますが、春ブーツ2.2.1から始まる、あなたが選択する必要があります@ConfigurationPropertiesScan

@ConstructorBinding

構成プロパティは現在、結束バンドのことができますバインディングコンストラクタをサポート@ConfigurationPropertiesクラスは不変注釈付き。コメントを使用することで@ConfigurationProperties1つのクラスのコンストラクタまたはコンストラクタに基づいて結合可能にします@ConstructorBinding今結合特性によって提供されるコンストラクタのパラメータとして使用することができる@DefaultValueとコメント@DateTimeFormat

春ブーツ2.2が推奨されていません

  • logging.fileプロパティは、名前が変更されましたlogging.file.name
  • logging.pathプロパティは、名前が変更されましたlogging.file.path
  • server.connection-timeout彼らの行動はまったく同じではないので、この性質、使用サーバー固有の属性を使用することをお勧めしません。
  • server.use-forward-headersないプロパティの使用を支持するserver.forward-headers-strategy、以前のserver.use-forward-headers=trueWebサーバーの用途ネイティブサポート。さて、あなたは同じ機能を実現することができますserver.forward-headers-strategy=native各サーバが特定の動作を持っているので、我々は今、代替は、この代替方法は、春に依存していますForwardedHeaderFilterserver.forward-headers-strategy=framework開発者は、最高の自分のユースケースに適したオプションを使用する必要があります。
  • ReactiveWebServerApplicationContext#getWebServerFactory
  • agentプロパティのMavenプラグインの名前が変更されましたagents
  • 非推奨ジョダ時間サポートjava.time
  • ApplicationHealthIndicator好意はPingHealthIndicator、常に貢献することです。
  • ConfigurationBeanFactoryMetadata賛成ConfigurationPropertiesBean
  • ConfigurationPropertiesBindingPostProcessor承認@EnableConfigurationPropertiesまたはregisterコンストラクタメソッド。
  • ConfigurationPropertiesBindingPostProcessor.VALIDATOR_BEAN_NAMEこれは、移動されましたEnableConfigurationProperties.VALIDATOR_BEAN_NAME
  • ConfigurationPropertiesBindingPostProcessorRegistrar賛成@EnableConfigurationProperties
  • WebTestClientBuilderCustomizerこれは、移動されましたorg.springframework.boot.test.web.reactive.server

リンクします。https://www.jianshu.com/p/c3d00a8e6598

おすすめ

転載: www.cnblogs.com/dalianpai/p/11995352.html