問題タブ [requestscope]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - リクエスト スコープ Bean はレスポンス ボディで使用できません [Spring Boot]
Rest Controller の Response として Request スコープ (プロトタイプ) Bean があり、 Exception を取得していますが、機能していません
エラーメッセージ「Type definition error: [simple type, class org.springframework.context.expression.StandardBeanExpressionResolver]; nested exception is com.fasterxml.jackson」で示唆されているように、プロパティファイルで spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false を試しました.databind.exc.InvalidDefinitionException: クラス org.springframework.context.expression.StandardBeanExpressionResolver のシリアライザーが見つからず、BeanSerializer を作成するためのプロパティが見つかりません (例外を回避するには、SerializationFeature.FAIL_ON_EMPTY_BEANS を無効にします) (参照チェーンを介して: com.epic.dcms.kyc .beans.MainResponse$$EnhancerBySpringCGLIB$$82085c99[\"targetSource\"]->org.springframework.aop.target.SimpleBeanTargetSource[\"beanFactory\"]->org.springframework.beans.factory.support.DefaultListableBeanFactory[\ "beanExpressionResolver\"])"、
機能しなかった場合、循環依存関係があり、例外がスローされました
@RequestScope アノテーションを @scope アノテーションに変更しても問題は解決しませんでした
この例外は、MainResponse が Response として使用された場合にのみ発生することに気付きました。
MainResponse Bean から @RequestScope を削除すると、正常に動作します。これを修正する方法はありますか??
java - Spring の @RequestScope は、シングルトン Bean に注入されたときにプロキシを自動的に処理しますか?
Java8/Spring Boot 2 アプリケーションを使用しています。リクエスト スコープの Bean をシングルトン Bean に注入したいと考えています。公式ドキュメントでは、プロキシまたは ObjectFactory/Providerのいずれかを使用して、シングルトン Bean で実行時に正しいスコープの Bean を常に取得する必要があることが強調されています。ただし、 @RequestScope アノテーションは、この質問への回答で説明されているように、ある種のプロキシを「自動的に」設定するようです。
次の 3 つの実装が実際には同一であり、どちらが優先されるのか疑問に思っています。
アプローチ 1: objectFactory<> を明示的に使用する
アプローチ 2: リクエストスコープ Bean が自動的にプロキシされると仮定して、通常どおり注入しますか?
アプローチ 3: @Configuration と @Bean を使用します。違いがわからず、動作が異なるのではないかと心配しているからです。
簡潔でスコープ/プロキシを自動的に処理するため、アプローチ 2 をお勧めします。
@Autowired Bean がfinal
フィールドとして宣言されている場合、答えは変わりますか? 最終的に作成すると、プロキシが要求ごとに新しい Bean を正しくフェッチできなくなるのではないかと心配しています。