2013-02-01 53 views
0

我想在我的一個方法上使用@Cachable註解,但我遇到問題,結果取決於不屬於方法簽名一部分的spring bean的屬性。Spring @ @可訪問的bean引用密鑰

所以我想是這樣的:

@Cachable(value="mycache", key="#id, #myspringbean.referenceId") 
MyResult myMethod(int id); 

我想這實際上是兩個問題:如何獲得使用複合鍵,以及如何在表達式中使用其他的Spring bean。

如何使用複合關鍵的問題或許可以在這太問題需要解決,如:@Cacheable key on multiple method arguments

但是,我找不到任何有關如何引用到其他的Spring bean在此表達anythig。這是可能的,如果是的話,如何?

回答

0

在Spring文檔(http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/expressions.html)中,您可以獲得很多有關SpEL的詳細信息。如您所見,您可以使用@myBean語法使用bean引用。你必須在你的上下文中包含一個bean解析器來做到這一點。

+0

好的,從我在日誌中看到'@ myBean'語法似乎做我想要的。但我不知道如何在我的上下文中包含一個bean解析器。你能舉一個例子或鏈接嗎?我搜索了它,但找不到任何工作... – Tim