Um auf eine Bean, die mit dem @Scope(„Session“) annotiert wurde, von einem nicht Session-Scoped Bean aus zugreifen zu können, ist ein aop-proxy notwendig.
Konnte man in der Spring XML Configuration noch bequem einen Proxy mit folgenden Zeilen definieren:
<!-- a HTTP Session-scoped bean exposed as a proxy -->
<bean id="userPreferences" class="com.foo.UserPreferences" scope="session">
<!-- this next element effects the proxying of the surrounding bean -->
<aop:scoped-proxy/>
</bean>
Hat man aber seine Bean wie oben beschrieben komplett über Annotationen konfiguriert, ist der Weg zum Scoped-Proxy ein nicht ganz so offensichtlicher. Man muss dazu die @Scope Annotation um den proxyMode erweitern:
@Scope( value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS )
Näheres findet ihr in der Spring API unter Scope
Schreibe einen Kommentar