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
risposta
È 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.
ok, grazie molte – cleverUtd
Non posso aiutarti con Spring AOP, ma ti consiglio caldamente di postare qualche codice sorgente se hai bisogno di aiuto dalla community StackOverflow. – ecbrodie