diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 2ea7a278..d9e0ca83 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -15,7 +15,7 @@ module.exports = { editLinks: true, editLinkText: '编辑此页面!', nav: [ - {text: '指南', link: '/'}, + {text: '指南', link: '/base/preface'}, {text: '功能', items:[ {text: '国际化',link:'/action/i18n'}, @@ -76,6 +76,7 @@ module.exports = { '/feature/exportExcel', '/feature/messageCenter', '/feature/cms.md' + ] }, { diff --git a/flash-api/src/main/resources/ehcache.xml b/flash-api/src/main/resources/ehcache.xml index 8fa36314..987a3ed9 100644 --- a/flash-api/src/main/resources/ehcache.xml +++ b/flash-api/src/main/resources/ehcache.xml @@ -3,7 +3,7 @@ xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="false" monitoring="autodetect" dynamicConfig="true" > - + getDictsByPname(String dictName) { - return (List) cacheDao.hget(EhcacheDao.CONSTANT,CacheKey.DICT+dictName,List.class); + return (List) cacheDao.hget(CacheDao.CONSTANT,CacheKey.DICT+dictName,List.class); } @Override @@ -44,7 +44,7 @@ public void cache() { set(String.valueOf(dict.getId()), children); set(dict.getName(), children); for(Dict child:children){ - set(CacheKey.DICT_NAME+String.valueOf(child.getId()),child.getName()); + set(CacheKey.DICT_NAME+child.getId(),child.getName()); } } @@ -53,12 +53,12 @@ public void cache() { @Override public Object get(String key) { - return cacheDao.hget(EhcacheDao.CONSTANT,CacheKey.DICT+key); + return cacheDao.hget(CacheDao.CONSTANT,CacheKey.DICT+key); } @Override public void set(String key, Object val) { - cacheDao.hset(EhcacheDao.CONSTANT,CacheKey.DICT+key,val); + cacheDao.hset(CacheDao.CONSTANT,CacheKey.DICT+key,val); } } diff --git a/flash-core/src/main/java/cn/enilu/flash/cache/impl/EhcacheDao.java b/flash-core/src/main/java/cn/enilu/flash/cache/impl/EhcacheDao.java index bd1aab64..b57c46da 100644 --- a/flash-core/src/main/java/cn/enilu/flash/cache/impl/EhcacheDao.java +++ b/flash-core/src/main/java/cn/enilu/flash/cache/impl/EhcacheDao.java @@ -9,16 +9,14 @@ import java.io.Serializable; /** - * EhcacheDao + * Ehcache缓存实现类
+ * 请不要直接使用该类,而是使用其接口CacheDao,以方便实际应用中往其他缓存服务切换(比如redis,ssdb等) * * @author enilu * @version 2018/9/12 0012 */ @Component public class EhcacheDao implements CacheDao { - //缓存常量,永不过期 - public static final String CONSTANT = "CONSTANT"; - public static final String SESSION = "SESSION"; @Resource private CacheManager cacheManager; diff --git a/flash-core/src/main/java/cn/enilu/flash/service/system/UserService.java b/flash-core/src/main/java/cn/enilu/flash/service/system/UserService.java index 2cc4bf25..f351e177 100644 --- a/flash-core/src/main/java/cn/enilu/flash/service/system/UserService.java +++ b/flash-core/src/main/java/cn/enilu/flash/service/system/UserService.java @@ -1,7 +1,7 @@ package cn.enilu.flash.service.system; import cn.enilu.flash.bean.entity.system.User; -import cn.enilu.flash.cache.impl.EhcacheDao; +import cn.enilu.flash.cache.CacheDao; import cn.enilu.flash.dao.system.UserRepository; import cn.enilu.flash.security.JwtUtil; import cn.enilu.flash.service.BaseService; @@ -24,7 +24,7 @@ public class UserService extends BaseService { @Autowired private UserRepository userRepository; @Autowired - private EhcacheDao ehcacheDao; + private CacheDao cacheDao; @Value("${jwt.token.expire.time}") private Long tokenExpireTime ; @@ -33,19 +33,19 @@ public User findByAccount(String account) { //由于:@Cacheable标注的方法,如果其所在的类实现了某一个接口,那么该方法也必须出现在接口里面,否则cache无效。 //具体的原因是, Spring把实现类装载成为Bean的时候,会用代理包装一下,所以从Spring Bean的角度看,只有接口里面的方法是可见的,其它的都隐藏了,自然课看不到实现类里面的非接口方法,@Cacheable不起作用。 //所以这里手动控制缓存 - User user = ehcacheDao.hget(EhcacheDao.SESSION,account,User.class); + User user = cacheDao.hget(CacheDao.SESSION,account,User.class); if(user!=null){ return user; } user = userRepository.findByAccount(account); - ehcacheDao.hset(EhcacheDao.SESSION,account,user); + cacheDao.hset(CacheDao.SESSION,account,user); return user; } @Override public User update(User record) { User user = super.update(record); - ehcacheDao.hset(EhcacheDao.SESSION,user.getAccount(),user); + cacheDao.hset(CacheDao.SESSION,user.getAccount(),user); return user; } @@ -60,7 +60,7 @@ public String loginForToken(User user){ //将token作为RefreshToken Key 存到缓存中,缓存时间为token有效期的两倍 String refreshTokenCacheKey = token; Date expireDate = new Date(System.currentTimeMillis()+tokenExpireTime*120000); - ehcacheDao.hset(EhcacheDao.SESSION,refreshTokenCacheKey,String.valueOf(expireDate.getTime())); + cacheDao.hset(CacheDao.SESSION,refreshTokenCacheKey,String.valueOf(expireDate.getTime())); logger.info("token:{}",token); return token; } @@ -71,7 +71,7 @@ public String loginForToken(User user){ * @return */ public boolean refreshTokenIsValid(String token){ - String refreshTokenTime = (String) ehcacheDao.hget(EhcacheDao.SESSION,token); + String refreshTokenTime = (String) cacheDao.hget(CacheDao.SESSION,token); if(refreshTokenTime == null){ return false; }