2012-12-24 9 views
12

Ho un metodo con un valore di ritorno in livello DAO, voglio cambiare il valore di ritorno per molla AOP, secondo diversi requisiti, e quindi inviare al metodo corrispondente nel livello SERVICE; ma non so come farlo.Come modificare il valore di ritorno a primavera

+1

Non posso aiutarti con Spring AOP, ma ti consiglio caldamente di postare qualche codice sorgente se hai bisogno di aiuto dalla community StackOverflow. – ecbrodie

risposta

15

È possibile applicare un aspetto @Around al metodo il cui tipo di ritorno deve essere modificato. È possibile dare un'occhiata al mio blog post su come aggiungere il facet Spring AOP a un'applicazione Spring, quindi scrivere un aspetto @Around. Ho usato questo aspetto per i risultati di Memoizing di un metodo, ma nel tuo caso dovresti prendere il valore di ritorno di ProceedingJoinPoint.proceed(), convertirlo in classe appropriata, quindi modificarlo e restituirlo.

Nel caso in cui si preveda di restituire un oggetto completamente diverso, ciò comporterebbe ClassCastException, a meno che l'oggetto restituito sia una sottoclasse del tipo restituito.

+0

ok, grazie molte – cleverUtd

Problemi correlati