Estoy tratando de usar AOP para hacer algo de procesamiento después de un controlador anotado. Todo se ejecuta sin errores, pero el consejo no se está ejecutando.Consejos de AOP de primavera sobre controladores anotados
Aquí es el código del controlador:
@Controller
public class HomeController {
@RequestMapping("/home.fo")
public String home(ModelMap model) {
model = new ModelMap();
return "home";
}
}
y la configuración de la aplicación-config
<aop:aspectj-autoproxy/>
<bean id="testAdvice" class="com.test.TestAdvice">
</bean>
<bean id="testAdvisor"
class="org.springframework.aop.aspectj.AspectJExpressionPointcutAdvisor">
<property name="advice" ref="testAdvice" />
<property name="expression" value="execution(* *.home(..))" />
</bean>
y el consejo real
public class TestAdvice implements AfterReturningAdvice {
protected final Log logger = LogFactory.getLog(getClass());
public void afterReturning(Object returnValue, Method method, Object[] args,
Object target) throws Throwable {
logger.info("Called after returning advice!");
}
}
¿Es incluso posible tener asesoramiento sobre controladores anotados? Estoy usando Spring 2.5.
Nunca pude hacer que esto funcione, y desafortunadamente, me he quedado sin tiempo para poder trabajar en él. Por ahora, tengo que limitarme a copiar el código. – jdana
Necesita incluir su bean 'testAdvisor' en' 'como este:' ' –
xli