From 6e7f7172d4ee3d230694138727a022aa98278d8b Mon Sep 17 00:00:00 2001 From: ruibaby Date: Thu, 28 Jun 2018 14:10:22 +0800 Subject: [PATCH] =?UTF-8?q?:alien:=20=E6=B5=8B=E8=AF=95Ehcache?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 5 +++ src/main/java/cc/ryanc/halo/Application.java | 2 ++ .../java/cc/ryanc/halo/model/dto/Theme.java | 2 ++ .../halo/service/impl/LinkServiceImpl.java | 9 +++++ .../halo/service/impl/MenuServiceImpl.java | 9 +++++ .../java/cc/ryanc/halo/utils/HaloUtils.java | 33 ------------------- .../admin/AttachmentController.java | 3 -- src/main/resources/ehcache.xml | 33 +++++++++++++++++++ 8 files changed, 60 insertions(+), 36 deletions(-) create mode 100644 src/main/resources/ehcache.xml diff --git a/pom.xml b/pom.xml index 1c17ab8de..5c880b3a3 100755 --- a/pom.xml +++ b/pom.xml @@ -92,6 +92,11 @@ ${druid.version} + + org.springframework.boot + spring-boot-starter-cache + + org.springframework.boot diff --git a/src/main/java/cc/ryanc/halo/Application.java b/src/main/java/cc/ryanc/halo/Application.java index 2fdab41f1..2845a9982 100755 --- a/src/main/java/cc/ryanc/halo/Application.java +++ b/src/main/java/cc/ryanc/halo/Application.java @@ -3,6 +3,7 @@ package cc.ryanc.halo; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cache.annotation.EnableCaching; /** * @author RYAN0UP @@ -10,6 +11,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; */ @Slf4j @SpringBootApplication +@EnableCaching public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); diff --git a/src/main/java/cc/ryanc/halo/model/dto/Theme.java b/src/main/java/cc/ryanc/halo/model/dto/Theme.java index 0e0fb6470..da90dcf33 100644 --- a/src/main/java/cc/ryanc/halo/model/dto/Theme.java +++ b/src/main/java/cc/ryanc/halo/model/dto/Theme.java @@ -15,6 +15,8 @@ import java.io.Serializable; @Data public class Theme implements Serializable { + private static final long serialVersionUID = 1L; + /** * 主题名称 */ diff --git a/src/main/java/cc/ryanc/halo/service/impl/LinkServiceImpl.java b/src/main/java/cc/ryanc/halo/service/impl/LinkServiceImpl.java index 00a7971cb..b6e1fee3b 100755 --- a/src/main/java/cc/ryanc/halo/service/impl/LinkServiceImpl.java +++ b/src/main/java/cc/ryanc/halo/service/impl/LinkServiceImpl.java @@ -4,6 +4,8 @@ import cc.ryanc.halo.model.domain.Link; import cc.ryanc.halo.repository.LinkRepository; import cc.ryanc.halo.service.LinkService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import java.util.List; @@ -19,6 +21,10 @@ public class LinkServiceImpl implements LinkService { @Autowired private LinkRepository linkRepository; + private static final String LINKS_CACHE_KEY = "'link'"; + + private static final String LINKS_CACHE_NAME = "links"; + /** * 新增/修改友情链接 * @@ -26,6 +32,7 @@ public class LinkServiceImpl implements LinkService { * @return Link */ @Override + @CacheEvict(value = LINKS_CACHE_NAME, key = LINKS_CACHE_KEY) public Link saveByLink(Link link) { return linkRepository.save(link); } @@ -37,6 +44,7 @@ public class LinkServiceImpl implements LinkService { * @return Link */ @Override + @CacheEvict(value = LINKS_CACHE_NAME, key = LINKS_CACHE_KEY) public Link removeByLinkId(Long linkId) { Optional link = this.findByLinkId(linkId); linkRepository.delete(link.get()); @@ -49,6 +57,7 @@ public class LinkServiceImpl implements LinkService { * @return List */ @Override + @Cacheable(value = LINKS_CACHE_NAME, key = LINKS_CACHE_KEY) public List findAllLinks() { return linkRepository.findAll(); } diff --git a/src/main/java/cc/ryanc/halo/service/impl/MenuServiceImpl.java b/src/main/java/cc/ryanc/halo/service/impl/MenuServiceImpl.java index fa6f4e5af..8a9bb592e 100644 --- a/src/main/java/cc/ryanc/halo/service/impl/MenuServiceImpl.java +++ b/src/main/java/cc/ryanc/halo/service/impl/MenuServiceImpl.java @@ -4,6 +4,8 @@ import cc.ryanc.halo.model.domain.Menu; import cc.ryanc.halo.repository.MenuRepository; import cc.ryanc.halo.service.MenuService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import java.util.List; @@ -19,12 +21,17 @@ public class MenuServiceImpl implements MenuService { @Autowired private MenuRepository menuRepository; + private static final String MENUS_CACHE_KEY = "'menu'"; + + private static final String MENUS_CACHE_NAME = "menus"; + /** * 查询所有菜单 * * @return List */ @Override + @Cacheable(value = MENUS_CACHE_NAME, key = MENUS_CACHE_KEY) public List findAllMenus() { return menuRepository.findAll(); } @@ -36,6 +43,7 @@ public class MenuServiceImpl implements MenuService { * @return Menu */ @Override + @CacheEvict(value = MENUS_CACHE_NAME, key = MENUS_CACHE_KEY) public Menu saveByMenu(Menu menu) { return menuRepository.save(menu); } @@ -47,6 +55,7 @@ public class MenuServiceImpl implements MenuService { * @return Menu */ @Override + @CacheEvict(value = MENUS_CACHE_NAME,key = MENUS_CACHE_KEY) public Menu removeByMenuId(Long menuId) { Optional menu = this.findByMenuId(menuId); menuRepository.delete(menu.get()); diff --git a/src/main/java/cc/ryanc/halo/utils/HaloUtils.java b/src/main/java/cc/ryanc/halo/utils/HaloUtils.java index b0e5cba69..12460cdb1 100755 --- a/src/main/java/cc/ryanc/halo/utils/HaloUtils.java +++ b/src/main/java/cc/ryanc/halo/utils/HaloUtils.java @@ -16,10 +16,6 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.util.ResourceUtils; import javax.imageio.ImageIO; -import javax.imageio.ImageReadParam; -import javax.imageio.ImageReader; -import javax.imageio.stream.ImageInputStream; -import java.awt.*; import java.awt.image.BufferedImage; import java.io.*; import java.net.URI; @@ -36,7 +32,6 @@ import java.time.Instant; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.*; -import java.util.List; /** *
@@ -57,34 +52,6 @@ public class HaloUtils {
 
     private static ArrayList FILE_LIST = new ArrayList<>();
 
-    /**
-     * 截取图片
-     *
-     * @param src    输入路径
-     * @param dest   输出路径
-     * @param w      宽度
-     * @param h      长度
-     * @param suffix 后缀
-     * @throws IOException
-     */
-    public static void cutCenterImage(String src, String dest, int w, int h, String suffix) {
-        try {
-            Iterator iterator = ImageIO.getImageReadersByFormatName(suffix);
-            ImageReader reader = (ImageReader) iterator.next();
-            InputStream in = new FileInputStream(src);
-            ImageInputStream iis = ImageIO.createImageInputStream(in);
-            reader.setInput(iis, true);
-            ImageReadParam param = reader.getDefaultReadParam();
-            int imageIndex = 0;
-            Rectangle rect = new Rectangle((reader.getWidth(imageIndex) - w) / 2, (reader.getHeight(imageIndex) - h) / 2, w, h);
-            param.setSourceRegion(rect);
-            BufferedImage bi = reader.read(0, param);
-            ImageIO.write(bi, suffix, new File(dest));
-        } catch (Exception e) {
-            log.error("剪裁失败,图片本身尺寸小于需要修剪的尺寸:{0}", e.getMessage());
-        }
-    }
-
     /**
      * 获取所有附件
      *
diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/AttachmentController.java b/src/main/java/cc/ryanc/halo/web/controller/admin/AttachmentController.java
index fdd3c5185..87415a89d 100755
--- a/src/main/java/cc/ryanc/halo/web/controller/admin/AttachmentController.java
+++ b/src/main/java/cc/ryanc/halo/web/controller/admin/AttachmentController.java
@@ -24,12 +24,9 @@ import org.springframework.util.ResourceUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
-import javax.imageio.ImageIO;
 import javax.servlet.http.HttpServletRequest;
 import javax.websocket.server.PathParam;
-import java.awt.image.BufferedImage;
 import java.io.File;
-import java.io.FileInputStream;
 import java.text.SimpleDateFormat;
 import java.util.HashMap;
 import java.util.Map;
diff --git a/src/main/resources/ehcache.xml b/src/main/resources/ehcache.xml
new file mode 100644
index 000000000..36798cd35
--- /dev/null
+++ b/src/main/resources/ehcache.xml
@@ -0,0 +1,33 @@
+
+
+    
+
+    
+
+    
+
\ No newline at end of file