2016-05-03 5 views
0

私は静的フィールドを持つセッションスコープコントローラを持っていて、そのセッションインスタンスに限定したいので、セッション内の他のクラスからフィールドにアクセスできますが、他のインスタンスと共有する必要はありません同じJVMで実行されています。Java Springでインスタンス間で静的フィールドを共有できないのですか?

同じJVM内のクライアントごとにそのフィールドのコピーを作成することはできますか?

@Controller 
@Scope(value = "session", proxyMode = ScopedProxyMode.INTERFACES) 
public class WebController { 
    public static MyClass = new MyClass(); 

... 
} 

答えて

1

静的を削除します。

セッションスコープのBeanにこのフィールドを置き、アクセスする必要がある場所に注入します。

さらに単純ですが、MyClass自体をセッションスコープのBeanにして、アクセスする必要がある場所に注入してください。

スタティックフィールドは悪いです。

+0

ありがとう、私はクラスを注入します。私は今から静的なフィールドを避けようとします – detoro84

関連する問題