2017-05-10 4 views
0

@Componentクラスのフィールドを同時に使う方法は?このコードに続いて

@Component 
public class ClassC extends ClassA<T> implements ClassB { 

    private String preferredDateTimeFormat = null; 

私のプロセスは、クライアントからの要求を呼び出した後、このクラスを使用しています。

各リクエストごとに、preferredDateTimeFormatの値を維持したいと考えています。実際には何が行われていますか?preferredDateTimeFormat変数がすべてのリクエストに使用されています。

私はそれを解決するために何ができますか?値を使用してクラスの

+1

あなたはあなたの質問をより明確にすることができます – XtremeBaumer

+0

'PreferredDateTimeFormat'フィールドを' ClassC'(@Component)インスタンスごとに異ならせる方法 – roeygol

+0

あなたは別の値を持つことを意味しますか? – XtremeBaumer

答えて

1

使用@Scope =この

@Component 
@Scope(value="request", proxyMode =ScopedProxyMode.TARGET_CLASS) 
public class ClassC extends ClassA<T> implements ClassB { 

    private String preferredDateTimeFormat = null; 

ようrequest

あなたはhere

+0

これはうまくいったのですが、@Scope(value = "request"、proxyMode = ScopedProxyMode.TARGET_CLASS) 'の目的についての簡単な情報を教えてください。 – roeygol

0

は、複数の方法があります春の豆スコープ上でより多くの情報を見つけることができます。

リクエストスコープBeanを定義し、そこでpreferredDateTimeFormatを配置することができます。

または

ThreadLocalプロパティを定義し、そこに値を配置できます。

0

要求ごとに新しいインスタンスが使用されるたびに新しいインスタンスが使用されることを意味しているとは限りませんが、PrototypeRequestという値を持つ@Scope注釈を調べるとよいでしょう。

Spring Bean Scopesを参照してください。

関連する問題