gpt4 book ai didi

java - 当请求范围不可用时,创建请求范围 bean 单例

转载 作者:行者123 更新时间:2023-11-30 07:32:10 25 4
gpt4 key购买 nike

我有以下代码来在 Spring 应用程序中定义 bean 请求作用域 bean。

@Bean       
@Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
public MyBean myBean() {
return new MyBean(); // actually it is a more complex initialization
}

但有时我会想在离线应用程序中使用相同的bean,其中request范围不可用,只有singletonprototype可用.

request 不可用时,有没有办法让同一个 bean 呈现出 singleton 形式?

最佳答案

您可以信赖 Spring 配置文件吗?您可以在 2 个具有不同 @Scope@Profile

@Bean 使用的私有(private)方法中提取 bean 创建。

类似这样的事情:

@Bean     
@Profile('prod')
@Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
public MyBean myBeanProd() {
return getMyBean()
}

@Bean
@Profile('test')
@Scope(value = "singleton", proxyMode = ScopedProxyMode.TARGET_CLASS)
public MyBean myBeanWithoutRequestScope() {
return getMyBean()
}

privateMyBean getMyBean() {
return new MyBean(); // actually it is a more complex initialization
}

关于java - 当请求范围不可用时,创建请求范围 bean 单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35954368/

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