3

以前は、XMLで次のBeanを定義していました(機能しました!):

<bean id="session"  class="mrpomario.springcore.bean_scopes.beans.SessionBean" scope="session">
<aop:scoped-proxy/>
</bean>

これで、Javaを介して同じ構成を実行しようとしました。

    @Bean
    @Scope("session")
    @ScopedProxy
    public SessionBean session() {
        return new SessionBean();
    }

次のエラーが発生します...

java.lang.IllegalStateException: No Scope registered for scope 'session'

...session()別のBeanのセッターの引数として呼び出す場合。

なぜそれが起こり、どうすればそれを解決できますか?

4

1 に答える 1

2

@ScopedProxySpring の Java 構成の一部ではありません。解決策はリファレンスマニュアルにあります-注釈proxyModeの使用:@Scope

@Bean
@Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
public SessionBean session() {
    return new SessionBean();
}
于 2012-09-05T22:56:21.640 に答える