@RetentionSE(valueSE=RUNTIMESE) @TargetSE(valueSE=TYPESE) @DocumentedSE @Import(value=DelegatingWebFluxConfiguration.class) public @interface EnableWebFlux
@Configuration クラスに追加すると、Spring Web Reactive 構成が WebFluxConfigurationSupport からインポートされます。例:
@Configuration
@EnableWebFlux
@ComponentScan(basePackageClasses = MyConfiguration.class)
public class MyConfiguration {
}
インポートされた構成をカスタマイズするには、WebFluxConfigurer を実装し、以下に示すように個々のメソッドをオーバーライドします。
@Configuration
@EnableWebFlux
@ComponentScan(basePackageClasses = MyConfiguration.class)
public class MyConfiguration implements WebFluxConfigurer {
@Override
public void addFormatters(FormatterRegistry formatterRegistry) {
formatterRegistry.addConverter(new MyConverter());
}
@Override
public void configureMessageWriters(List<HttpMessageWriter<?>> messageWriters) {
messageWriters.add(new MyHttpMessageWriter());
}
}
注意 : Spring WebFlux 構成をインポートするための @EnableWebFlux アノテーションを持つことができる @Configuration クラスは 1 つだけです。ただし、提供された構成をカスタマイズするために、WebFluxConfigurer を実装する複数の @Configuration クラスが存在する場合があります。
WebFluxConfigurer が構成する必要のあるより高度な設定を公開していない場合、WebFluxConfigurer インスタンスで構成をカスタマイズできるようにする場合は、@EnableWebFlux アノテーションを削除し、WebFluxConfigurationSupport または DelegatingWebFluxConfiguration から直接拡張することを検討してください。
WebFluxConfigurer, WebFluxConfigurationSupport