Ich muss eine bestimmte EhCache-Instanz anhand des Namens erhalten und würde es vorziehen, wenn möglich zu autowire. Wie kann ich den folgenden automatisch konfigurierten Controller in der Cache-Instanz, die ich suche, automatisch ansteuern?
%Vor% %Vor% Wie konfiguriere ich EhCache in meinem Anwendungskontext? Ich sehe keine Protokollnachrichten von EhCache über das Laden der ehcache.xml-Datei in mein /WEB-INF/
-Verzeichnis. Wie kann ich es laden?
Wie kann ich EhCache in meine Spring-Anwendung integrieren, damit die ehcache.xml
-Datei von meinem /WEB-INF/
-Verzeichnis geladen und ein Cache mit einem bestimmten Namen in meinen MyUniqueService
-Controller übertragen wird?
Zuerst müssen Sie einen Ehcache CacheManager Singleton in Ihrem App Kontext wie folgt erstellen:
%Vor% Hier ist configLocation
so eingestellt, dass es vom Klassenpfad geladen wird oder value="/WEB-INF/my-ehcache.xml"
verwendet.
In Ihrem Controller injizieren Sie einfach die CacheManager
-Instanz:
Alternativ können Sie, wenn Sie die Route "vollständig automatisch" verwenden möchten:
%Vor%Richten Sie Ihre Klasse wie folgt ein:
%Vor% uniqueObjectCache
entspricht dieser Cache-Instanz in Ihrer ehcache.xml
-Cache-Definition:
Es gibt keine Möglichkeit, eine tatsächliche Cache-Instanz zu injizieren, aber wie oben gezeigt, können Sie einen Cache-Manager injizieren und ihn verwenden, um den Cache zu erhalten, an dem Sie interessiert sind.
Sie können auch autowire verwenden, wenn der Kontext eine Bean mit der richtigen Klasse finden kann. Hier ist, wie ich meine XML konfiguriert habe
%Vor%Und meine Java-Klasse
%Vor%Diese Einstellung funktioniert für mich.
Tatsächlich! Oder wenn Sie eine Java-Config-Klasse verwenden möchten:
%Vor%