将请求范围的bean注入另一个bean

将请求范围的bean注入另一个bean,第1张

请求范围的bean注入另一个bean

我认为您需要将

UUID
请求范围的bean 标记为:

@Scope(scopeName = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)

如果控制器是

singleton
作用域bean,
request
则要在其中注入作用域bean。由于单例bean在其生命周期内仅注入一次,因此您需要提供作用域Bean作为代理来解决此问题。

另一种选择是改为使用

org.springframework.web.context.annotation.RequestScope
注释:

@Target({ElementType.TYPE, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@documented@Scope(WebApplicationContext.SCOPE_REQUEST)public @interface RequestScope {    @AliasFor(annotation = Scope.class)    ScopedProxyMode proxyMode() default ScopedProxyMode.TARGET_CLASS;}

@RequestScope
是关于以下内容的元注释
@Scope
:1)将
scope
to 设置为
"request"
2)将
proxyMode
to
设置为,
ScopedProxyMode.TARGET_CLASS
因此您不必每次都想定义请求范围的bean时就这样做。

编辑:

请注意,您可能需要添加

@EnableAspectJAutoProxy
主配置类。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5505844.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存