java - 自定义自动配置的 Spring Boot Bean

标签 java spring spring-boot

我正在使用 Spring Boot,主要是对大多数组件使用自动配置选项。但是,我发现了一些实例,在这些实例中,我只是希望 Bean 的行为略有不同。

执行此操作的最佳/建议方法是什么?在许多情况下,我不想仅仅为了更改 bean 的一个属性而必须关闭自动配置,所以希望有某种方法可以明智地更新 bean 属性?

我的案例是 DispatcherServlet - 我对 autoconfig 很满意但我只想更改我的 DispatcherServlet 所以 DispatchOptionsRequest设置为真。我希望我不需要关闭自动配置并在本地复制配置只是为了调用那个 setter 方法?

最佳答案

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

例子:

@Bean
public DispatcherServlet dispatcherServlet() {
    DispatcherServlet servlet = new DispatcherServlet();
    servlet.setDispatchOptionsRequest(true);
    return servlet;
}

关于java - 自定义自动配置的 Spring Boot Bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28435938/

相关文章:

maven - 处理YAML配置文件和凭据

java.sql.SQLException : Access denied for user 'root' @'localhost' . 无法创建与数据库服务器的连接

java - Red5 - 按服务器顺序流式传输视频列表

java - 如何知道图中是否存在顶点?

java - 将 sql 参数传递给 jdbcTemplate.query 时,我收到带有对象参数的 SQLException

java spring 连接到 mysql 数据库(不是 JNDI 池或系统数据源!)

java - spring.resources.chain.strategy.content.enabled 仅适用于 .css 文件

java - 如何保护已构建的 Spring Web 应用程序免受 XSS 和 CSRF 攻击?

带有 sbt : Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory 的 Spring 启动

java - Android无法识别字符串资源