Spring のリクエスト スコープ Bean は、コンテナが HTTP リクエストごとに 1 つの Bean インスタンスを作成することを意味します。
RequestScopedBean Bean があるとしましょう:
@Component
public class RequestScopedBean {
@PostConstruct
void init() {
System.out.println("Init method called for each incoming HTTP Request");
}
}
public void doSomething() {}
構成 :
@Configuration
public class MyBeansConfig {
@Bean
@Scope(value="request", proxyMode=TARGET_CLASS)
public RequestScopedBean requestScopedBean() {
return new requestScopedBean();
}
}
私はRequestScopedBeanをSingleton Bean内で使用しています - そして、着信 HTTP リクエストごとに init() メソッドが呼び出されることを期待しています。そうではありません。init() メソッドは 1 回だけ呼び出されます。つまり、コンテナはRequestScopedBeanのインスタンスを 1 つだけ作成します。誰かが私に説明できますか:私が期待している動作が正しいかどうか、または構成の何が問題なのか.