gpt4 book ai didi

java - 是否可以在 Spring 中取消声明或定义 null bean?

转载 作者:行者123 更新时间:2023-12-02 10:36:58 24 4
gpt4 key购买 nike

在使用 Spring 时,我遇到过这样一种情况:如果特定 bean 不为 null,则调用某些逻辑。我不希望这种逻辑被称为;因此,我需要这个对象为空。相关 bean 具有由自动配置创建的默认非空值。

我的问题是:有没有办法“取消声明”一个 bean 使其为空?

这行不通:

@Bean
public UserDetailsService userDetailsService() {
return null;
}

它产生:

org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'userDetailsService' is expected to be of type 'org.springframework.security.core.userdetails.UserDetailsService' but was actually of type 'org.springframework.beans.factory.support.NullBean'

是否有 Spring 配置方法来执行此操作,还是我必须深入调用构造函数和 setter 来将此对象设置为 null?

最佳答案

听起来您不希望 UserDetailsS​​ervice 被视为一个 bean,因此您不应该将其创建为一个 bean。删除将其设置为 bean 的注释(例如 @Service、@Bean)

关于java - 是否可以在 Spring 中取消声明或定义 null bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53217939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com