我没有太多关于“ Spring Cache Abstraction ”的经验,所以我不确定这是否可行。 我有 MemcachedConfig 类,带有 @EnableCaching 注释。 我需要从 ServiceImpl 类测试方法“ saveSession ”,但是我想在测试中嵌入memcached ,所以当调用方法时,使用测试中定义的那个,而不是 applicationContext 上的bean。这可能吗?
@Configuration
@EnableCaching
public class MemcachedConfig {
....
@Bean
public CacheFactory sessionCacheFactory() {
....
}
@Bean
public ExtendedSSMCacheManager cacheManager(List<Cache> caches) {
....
}
}
@Service
public class ServiceImpl implements Service {
....
@Autowired
private ApplicationContext applicationContext;
private Service proxyOfMe;
@PostConstruct
public void initialize() {
proxyOfMe = (Service) applicationContext.getBean(Service.class);
}
@CachePut(value = VALUE , key = KEY)
public SessionCache saveSession(String session) {
....
}
....
}