我认为您需要将
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)将
scopeto 设置为
"request"2)将
proxyModeto
设置为,
ScopedProxyMode.TARGET_CLASS因此您不必每次都想定义请求范围的bean时就这样做。
编辑:
请注意,您可能需要添加
@EnableAspectJAutoProxy主配置类。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)