我正在使用Spring的缓存注释。我想从applicationContextfile传递Cache [@CacheEvict(name =“vendorCache”)]的名称,或者可以以任何其他方式配置它。
现在我有一个场景,我有两个类VendorDAo和NetworkDao。
public VenderDAO
{
@CacheEvict(name="vendorCache")
public String insert():void
{
//code to add the record into the table using ibatis
}
}
public NetworkDao
{
@CacheEvict(name="netWorkCache")
public String insert():void
{
//code to add the record into the table using ibatis
}
}
现在我有更多的方法,但唯一的区别是@CacheEvict。 有没有办法可以在配置文件中声明缓存名称并将其作为属性传递给bean。
<bean id="venderDAO" class="VenderDAO">
<property name="cachename" value="vendorCache"/>
</bean>
<bean id="netWorkDAO" class="VenderDAO">
<property name="cachename" value="netWorkCache"/>
</bean>
[Note: both the beans have the same class name]
并且可以在java文件中使用它或者还有其他任何方式。 任何指针都将受到高度赞赏。
此致
拉吉
答案 0 :(得分:0)
Spring缓存抽象仅适用于需要缓存的方法的注释(@Cacheable
和@CacheEvict
)。您不能使用XML声明。 27. Cache Abstraction