Вы можете добавить аспект Spring для кэширования с помощью плагина maven aspectj, указав класс аспекта и применив его вручную к нужным вам классам (проверьте внутри spring-aspects и spring-cache jars для аспекта).
Этот механизм напрямую не связан с пружиной, это можно сделать с любой стороной, не только с пружиной.
Причина, по которой он не используется, заключается в том, что это не очень удобно, потому что нам нужно знать классы, которые мы хотим посоветовать во время компиляции, и мы не можем полагаться на механизм сканирования аннотаций spring.
Плетение времени загрузки решает упомянутую вами проблему, заключающуюся в том, чтобы сделать повторные вызовы более прозрачными, без неудобств, связанных с переплетением времени компиляции. Плетение во время загрузки — это рекомендуемый способ, который Spring ввел в действие для использования плетения аспекта J, включенного аннотацией @EnableLoadTimeWeaving
.
Для конкретного варианта использования, который вы упомянули, кажется, что нет хорошего случая для введения ткачества во время компиляции, в целом нет хорошего варианта использования для плетения во время компиляции, что объясняет отсутствие документации, доступной в Интернете.
Я считаю, что лучшим вариантом для упомянутого вами варианта использования было бы вместо этого использовать переплетение времени загрузки.
person
Angular University
schedule
13.04.2014