我有一个用于初始化请求范围Bean的配置
@Configuration
public class ConfigurationClass {
@Bean(name = "TestBean")
@Scope(value = WebApplicationContext.SCOPE_REQUEST, proxyMode = ScopedProxyMode.TARGET_CLASS)
public TestBean getTestBean() {
...
}
}
和使用上述bean的ClientClass。
@Repository
public class ClientClass {
@Resource(name ="TestBean")
private TestBean testBean;
public void accessRequestBeanMethod() {
testBean.testMethod();
}
}
处理HTTP请求的请求会产生n个分别调用clientClass.accessRequestBeanMethod()的线程。 Spring在n个线程的每一个中初始化一个新的TestBean实例。我对Request范围的了解是,对于HTTP请求,该bean只会被初始化一次,但是似乎每个线程都需要初始化它。我希望为请求线程中所有产生的线程实现bean的缓存。我该如何实现?