diff --git a/src/main/java/com/monkeyk/sos/infrastructure/CacheConstants.java b/src/main/java/com/monkeyk/sos/infrastructure/CacheConstants.java new file mode 100644 index 0000000..502e6ea --- /dev/null +++ b/src/main/java/com/monkeyk/sos/infrastructure/CacheConstants.java @@ -0,0 +1,38 @@ +package com.monkeyk.sos.infrastructure; + +/** + * 2016/7/22 + *
+ * 定义系统中使用的CACHE的常量 + * 名称与 ehcache.xml 中对应 + * + * + * @author Shengzhao Li + */ +public abstract class CacheConstants { + + /** + * client Details Cache + */ + public static final String CLIENT_DETAILS_CACHE = "clientDetailsCache"; + + /** + * access Token Cache + */ + public static final String ACCESS_TOKEN_CACHE = "accessTokenCache"; + + /** + * authorization Code Cache + */ + public static final String AUTHORIZATION_CODE_CACHE = "authorizationCodeCache"; + + /** + * user Cache + */ + public static final String USER_CACHE = "userCache"; + + + private CacheConstants() { + } + +} diff --git a/src/main/java/com/monkeyk/sos/infrastructure/jdbc/OauthRepositoryJdbc.java b/src/main/java/com/monkeyk/sos/infrastructure/jdbc/OauthRepositoryJdbc.java index 6dffa8a..39f78e0 100644 --- a/src/main/java/com/monkeyk/sos/infrastructure/jdbc/OauthRepositoryJdbc.java +++ b/src/main/java/com/monkeyk/sos/infrastructure/jdbc/OauthRepositoryJdbc.java @@ -13,7 +13,10 @@ package com.monkeyk.sos.infrastructure.jdbc; import com.monkeyk.sos.domain.oauth.OauthClientDetails; import com.monkeyk.sos.domain.oauth.OauthRepository; +import com.monkeyk.sos.infrastructure.CacheConstants; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; @@ -28,7 +31,6 @@ import java.util.List; public class OauthRepositoryJdbc implements OauthRepository { - private static OauthClientDetailsRowMapper oauthClientDetailsRowMapper = new OauthClientDetailsRowMapper(); @@ -37,6 +39,7 @@ public class OauthRepositoryJdbc implements OauthRepository { @Override + @Cacheable(value = CacheConstants.CLIENT_DETAILS_CACHE, key = "#clientId") public OauthClientDetails findOauthClientDetails(String clientId) { final String sql = " select * from oauth_client_details where client_id = ? "; final List