自定义自动配置的Spring Boot Bean

rhi*_*nds 5 java spring spring-boot

我正在使用Spring Boot,并且大多数情况下只对大多数组件使用自动配置选项。但是,我发现了一些实例,在这些实例中我只是想要与Bean稍有不同的行为。

这样做的最佳/建议方法是什么?在许多情况下,我不想仅为了更改bean的一个属性而关闭autoconfig,所以希望有某种方法可以合理地更新bean的属性?

我遇到的情况是DispatcherServlet-我对自动配置感到满意,但我只想更改自己的配置DispatcherServlet因此DispatchOptionsRequest设置为true。我希望我不需要关闭autoconfig并在本地复制配置只是为了调用该setter方法?

zrv*_*van 3

DispatcherServlet可以通过声明name类型的 bean 来配置调度程序 servlet dispatcherServlet,然后返回一个根据您的喜好配置的实例。这将覆盖之前的声明。

例子:

@Bean
public DispatcherServlet dispatcherServlet() {
    DispatcherServlet servlet = new DispatcherServlet();
    servlet.setDispatchOptionsRequest(true);
    return servlet;
}
Run Code Online (Sandbox Code Playgroud)