Примером его использования на платформе Java (поскольку вы упомянули Groovy) является переплетение времени загрузки с чем-то вроде инструментария AspectJ и JVM. В этом конкретном случае, однако, у вас есть возможность использовать ткачество во время компиляции. Интересно, что один из моих недавних вопросов SO был связан с проблемами с использованием этого ткачества времени загрузки, при этом некоторые рекомендации рекомендовали время компиляции как единственный надежный вариант.
Примером AspectJ, использующим ткачество во время загрузки (во время выполнения) для предоставления полезного сервиса разработчику, может быть аннотация Spring @Configuration, которая позволяет использовать Dependency Injection для объекта, не созданного Spring BeanFactory.
Вы специально упомянули изменение метода (или как он работает), и примером того, как он используется, является аспект, который перехватывает запрос http перед отправкой его обработчику (какой-либо метод Controller или doPost и т. Д.) И проверкой посмотрите, авторизован ли пользователь для доступа к этому ресурсу. Ваш аспект может затем решить - преждевременно - вернуть ответ с перенаправлением на вход в систему. Не изменяя содержание метода как такового, вы по-прежнему изменяете способ работы метода, меняя возвращаемое значение, которое оно могло бы дать в противном случае.