Код: Выделить всё
@Component
public class DataService {
@Cacheable(value="movieFindCache", key="#name")
public String findByDirector(String name) {
return "hello";
}
}
< /code>
Это мой тест на Junit: < /p>
public class ServiceTest extends AbstractJUnit4SpringContextTests{
@Resource
private DataService dataService;
@Test
public void test_service() {
System.err.println(dataService.findByDirector("Hello"));
}
}
< /code>
Это не работает нормально, когда я отлаживаю с тестированием Junit. Он выбрасывает allectalargumentException java.lang.IllegalArgumentException: Null key returned for cache operation (maybe you are using named params on classes without debug info?) CacheableOperation[public java.lang.String com.eliteams.quick4j.web.service.ExcelDataService.getCarData()] caches=[movieFindCache] | key='#name' | condition='' | unless=''
at org.springframework.util.Assert.notNull(Assert.java:112)
at org.springframework.cache.interceptor.CacheAspectSupport.generateKey(CacheAspectSupport.java:315)
at org.springframework.cache.interceptor.CacheAspectSupport.collectPutRequests(CacheAspectSupport.java:265)
< /code>
У меня есть следующая конфигурация: < /p>
applicationcontext.xml:
< /code>
ehcache.xml:
< /code>
Примечание. Если я не укажу «клавишу» в аннотациях @cachable < /code>, он работает. < /p>
Есть что -нибудь, что я забыл указать? конфигурация? аннотации?
Подробнее здесь: https://stackoverflow.com/questions/298 ... -operation