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;
}