目前,我正在使用使用代理的缓存抽象。代理的问题是内部方法调用不起作用。现在,我想使用编译时编织,而不是代理,因为内部方法调用起作用。我在google上搜索过,但是我没有找到任何实质性的链接来解释如何使用编译时编织。负载时间编织有许多链接。有人能给出使用缓存抽象或相关链接的编译时编织的示例吗?
提前谢谢。
发布于 2014-04-13 12:32:00
您可以使用maven aspectj插件添加用于缓存的spring方面,方法是标识方面类并将其手动应用到您想要的类中(请检查Spring-方面内部的内容和方面的spring缓存jars )。
这种机制与弹簧没有直接联系,它可以做任何方面,而不仅仅是春天方面。
之所以没有使用它,是因为它不太方便,因为我们需要知道我们想在编译时通知哪些类,并且不能依赖spring注释扫描机制。
加载时编织解决了您提到的使重入调用以更透明的方式工作的问题,而不给编译时编织带来不便。加载时间编织是spring为使用aspectJ织入所推荐的方式,通过注释@EnableLoadTimeWeaving启用。
对于您提到的具体用例,似乎没有一个很好的案例来引入编译时编织,一般来说,编译时编织没有很好的用例,这就解释了缺乏在线可用文档的原因。
我相信您提到的用例最好的选择是使用加载时间编织。
https://stackoverflow.com/questions/23032434
复制相似问题