Bean注解方法中返回null

问题描述 投票:0回答:1

我有一个网络过滤器,我只想在启用调试级别时执行。我试图实现一个虚拟过滤器以返回符合空对象模式,但我遇到了很多错误并损失了时间。下面的解决方案似乎可以无缝工作,但我想知道如果

@Bean
方法返回 null 会发生什么?这样安全吗?

   @Bean
    WebFilter payloadFilter() {
        if(log.isDebugEnabled()) {
            return new PayloadFilter();
        }else{
            return null;
        }
    }
java spring spring-boot spring-annotations null-object-pattern
1个回答
0
投票

我不知道你的应用程序中的热日志记录是受控制的,但是如果你通过 application.yml 设置日志记录级别,我会这样做:

@Bean
@ConditionalOnProperty(prefix = "logging.level", name = "com.example.config", havingValue = "DEBUG")
public WebFilter payloadFilter() {
    return new PayloadFilter();
}
© www.soinside.com 2019 - 2024. All rights reserved.