PS:如有問題,評論留言。
先引入依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
激活啟動類注解@EnableCaching
實現類相應方法上加上這個注解
@Service
public class ImsSysClientServiceImpl implements ImsSysClientService {
@Resource
ImsSysClientMapper imsSysClientMapper;
@Cacheable(value = "client", key = "#id", unless = "#result == null")
public ImsSysClient selectByPrimaryKey(Integer id) {
return imsSysClientMapper.selectByPrimaryKey(id);
}
controller層測試代碼
public void test(){
System.out.println("test");
ImsSysClient client1=imsSysClientService.selectByPrimaryKey(1);
System.out.println(client1);
ImsSysClient client2=imsSysClientService.selectByPrimaryKey(1);
System.out.println(client2);
}
默認用redis緩存
如果不想用redis緩存,只是把它放內存中。(在serviceImpl里面加入下面這個管理器)
@Bean public CacheManager cacheManager() { SimpleCacheManager cacheManager = new SimpleCacheManager(); cacheManager.setCaches(Arrays.asList(new ConcurrentMapCache("client"),new ConcurrentMapCache("clientId"),new ConcurrentMapCache("jwtinfo"))); cacheManager.afterPropertiesSet(); return cacheManager; } }
如果配了多個不同名字的緩存注解,在紅線部分把名字配上去。不過這個管理器不能放在單獨的文件中,否則又會使用redis緩存。(我也不知道為什么)