Ответ 1
Вы можете применить аспект @Around
к методу, тип возвращаемого типа которого должен быть изменен. Вы можете взглянуть на мой пост в блоге о том, как добавить фасет AOP к Spring в приложение Spring, а затем написать @Around
аспект. Я использовал этот аспект для результатов Memoizing
метода, но в вашем случае вы берете возвращаемое значение ProceedingJoinPoint.proceed()
, прибегаете к соответствующему классу, затем изменяете его и возвращаете.
Если вы планируете полностью вернуть совершенно другой объект, то это приведет к ClassCastException, если фактический возвращенный объект не является подклассом возвращаемого типа.