web-dev-qa-db-fra.com

équivalent d'annotation de <aop: scoped-proxy>

Je passe d'une configuration xml à des annotations. je veux convertir un bean de portée de session qui est

<aop:scoped-proxy>

cela peut-il être fait avec des annotations, et sinon, que puis-je faire pour que cette déclaration continue de fonctionner?

edit: Je suis intéressé à le faire au printemps 2.5

44
mkoryak

dans le contexte de printemps xml, faites quelque chose comme:

<context:component-scan base-package="com.startup.failure" scoped-proxy="interfaces" />

Notez que vous devrez cependant écrire des interfaces pour toutes les classes de ce package.

9
sfultong

Dans Spring 3.0, il peut être spécifié par l'attribut proxyMode de @Scope annotation:

@Scope(value = "session", proxyMode = ScopedProxyMode.INTERFACES)
90
axtavt

Au printemps 2.5.x

Si je fais dans spring-context.xml quelque chose comme

<context:component-scan base-package="com.startup.failure" scoped-proxy="TARGET_CLASS" />

Donc, de cette façon, je n'ai pas besoin de mes beans proxy pour implémenter des interfaces? (en utilisant CGLIB non standard JDK). Je n'ai pas testé cela mais je pense que cela devrait fonctionner. Bien sûr, vous devez avoir la bibliothèque cglib, vous en avez besoin avec <aop:scoped-proxy> en tous cas.

4
Ondrej Bozek