2011-12-12 18 views
6

Estoy intentando configurar Spring AOP sin XML y me pregunto cómo habilitar el auto-proxy de esta manera.Spring AOP sin XML

La definición de un AutoProxyCreator-bean funciona, pero ¿no hay una manera más fácil?

Esto es lo que se ve mi @Configuration como:

@Configuration 
public class Context { 
    @Bean 
    public AnnotationAwareAspectJAutoProxyCreator annotationAwareAspectJAutoProxyCreator() { 
     return new AnnotationAwareAspectJAutoProxyCreator(); 
    }; 
    ... 
} 

Todos los otros granos se escanean en por AnnotationConfigApplicationContext.

Respuesta

7

Spring 3.0.x no proporciona formas sencillas de reemplazar las extensiones de espacios de nombres XML (como <aop:aspectj-autoproxy>) en @Configuration.

Un próximo Spring 3.1 admitirá anotaciones especiales para este propósito, como @EnableAspectJAutoProxy.

+0

Gracias, así que supongo que mi solución es aceptable por el momento;) – CKuck

0

Finalmente encontré una manera estéticamente agradable para añadir el AnnotationAwareAspectJAutoProxyCreator:

AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); 
context.register(AnnotationAwareAspectJAutoProxyCreator.class); 
context.scan("com.myDomain"); 
context.refresh(); 
Cuestiones relacionadas