我已经按照https://www.playframework.com/documentation/2.5.x/JavaCache上的示例进行操作,我可以成功访问缓存,但我似乎只能通过控制器方法执行此操作。具体做法是:
@Inject
public OverviewController(CacheApi cache) { this.lookupCache = cache; }
然后,根据控制器操作,我可以根据需要通过lookupCache查询缓存。
我的问题是我需要在应用程序中更深层次地使用此功能,并且我真的想阻止通过其他几个构造函数传递对lookupCache的引用。
文档似乎建议在任何“组件”上添加这个注入的能力,这会给我我想要的东西,但是如果我在其他类上尝试相同的注入:
public class DropDownCache {
private CacheApi lookupCache;
@Inject
public DropDownCache(CacheApi cache) { this.lookupCache = cache; }
}
...然后每当我实例化DropDownCache时,我都必须提供CacheApi实例。这告诉我控制器是神奇地用这个引用实例化的,我只是不知道如何访问它。
有没有人有关于控制器从何处获取CacheApi实例的指示?