我如何查看@Cacheable的实现。我想找出它们如何能够在运行时获取方法参数的名称并获取其实际值。
例如:
@Cacheable(cacheNames = "name", key = "#key")
public String method(String key){
//some logic
return null;
}
可缓存如何获得参数键的值?我需要在自定义批注中实现此功能,并且无法找到任何引用。只是尝试单击@Cacheable会导致我进入注释实现,而无法找到查看其解析方式的方法。
不幸地窥探了文档,而且也找不到任何参考。在这里也没有看到任何类似的问题。请协助或建议我如何实现自定义注释,并以名称而不是索引的形式读取方法的参数值。谢谢。
@Cacheable
批注的工作方式很复杂,因为它不仅仅是要在运行时获取值,而已。它在后台运行着很多东西。
[在运行时获得价值的方式是使用反射和AOP,一个好的起点是在GitHub上调试/查看cache package和base class for the cash aspect。