如何解决在 Spring MVC 中创建一个带有请求范围的 `java.lang.String` 类型的命名 bean
我有配置类 SpecialEventsConfig
。
我正在尝试初始化字符串类型的请求作用域 bean。
@Bean("requestTime")
public String getRequestTime() {
return String.valueOf(System.nanoTime());
}
这有效,但它会初始化一个单例。我想用它来初始化请求范围的字符串。
@Bean("requestTime")
@RequestScope(proxyMode = ScopedProxyMode.TARGET_CLASS)// Tried NO and INTERFACES as well
public String getRequestTime() {
return String.valueOf(System.nanoTime());
}
这可以解决我的问题,但不幸的是它不起作用。
有没有办法实现这种行为?
解决方法
我想你可以试试这个解决方法。
@Bean("requestTime")
@RequestScope(proxyMode = ScopedProxyMode.TARGET_CLASS)
public Supplier<String> getRequestTime() {
long time = System.nanoTime();
return () -> String.valueOf(time);
}
,
要使用 bean 的请求范围,您可以使用其中之一
@Scope(value = WebApplicationContext.SCOPE_REQUEST,proxyMode = ScopedProxyMode.TARGET_CLASS)
或
@RequestScope
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。