欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > javascript >内容正文

javascript

SpringMVC4集成ehcache

发布时间:2025/5/22 javascript 62 豆豆
生活随笔 收集整理的这篇文章主要介绍了 SpringMVC4集成ehcache 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

前言

     使用SpringMVC4集成ehcache来缓存服务器数据。

开发环境

    SpringMVC4、ehcache2.6、

 

项目结构

 

SpringMVC 集成ehcache

1、pom.xml

//除了SpringMVC 、sql server相关就是ehcache-core <dependency><groupId>net.sf.ehcache</groupId><artifactId>ehcache-core</artifactId><version>2.6.11</version></dependency>

2、springmvc-servlet.xml

     主要就是开启cache注解,同时导入spring cache命名空间。

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xmlns:cache="http://www.springframework.org/schema/cache"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/cachehttp://www.springframework.org/schema/cache/spring-cache.xsd"><!--从配置文件加载数据库信息--><bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="locations" value="classpath:config/jdbc.properties"/><property name="fileEncoding" value="UTF-8"/></bean><!--配置数据源,这里使用Spring默认--><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="${sqlserver.driver}"/><property name="url" value="${sqlserver.url}"/><property name="username" value="${sqlserver.username}"/><property name="password" value="${sqlserver.password}"/></bean><!--扫描Mapper--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.autohome.dao"/></bean><!--配置sqlSessionFactory--><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="configLocation" value="classpath:springmvc-mybatis.xml"/><property name="dataSource" ref="dataSource"/></bean><!--启用缓存注解--><cache:annotation-driven cache-manager="cacheManager"/><bean id="cacheManagerFactory" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"><property name="configLocation" value="classpath:ehcache.xml"/></bean><bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager"><property name="cacheManager" ref="cacheManagerFactory"/></bean><!--启用最新的注解器、映射器--><mvc:annotation-driven/><!--使用默认的Servlet来响应静态资源--><mvc:default-servlet-handler/><!--扫描Controller注解类--><context:component-scan base-package="com.autohome.controller" /><!--扫描Service注解类--><context:component-scan base-package="com.autohome.service"/><!--jsp视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views/"/><property name="suffix" value=".jsp"/></bean></beans>

 

3、ehcache.xml

    xsd我配置以后一直报红,不知道怎么回事,后来试着运行了下发现不影响程序运行,索性就这么用着

<?xml version="1.0" encoding="gbk"?> <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="http://www.ehcache.org/v3 http://www.ehcache.org/schema/ehcache-core-3.0.xsd"><diskStore path="java.io.tmpdir" /><defaultCachemaxElementsInMemory="10000"eternal="false"timeToIdleSeconds="120"timeToLiveSeconds="120"overflowToDisk="false"/><cache name="myCache"eternal="false"maxElementsInMemory="10000"overflowToDisk="false"timeToIdleSeconds="0"timeToLiveSeconds="0"memoryStoreEvictionPolicy="LFU"/></ehcache>

 

3、Service层里调用Dao层时使用缓存注解

      在listAllUser方法上使用Cacheable注解,第一次运行时缓存里还没数据控制台会打印query from database...再次调用则直接读取缓存数据

@Cacheable(value = "myCache")public List<User> listAllUser() {System.out.println("query from database...");return userDao.listAllUser();}

  

4、Controller里调用

@Controller @RequestMapping("/User") public class UserController {@AutowiredUserService userService;@RequestMapping("/index")public ModelAndView index(){System.out.println("size:"+userService.listAllUser().size());ModelAndView mav =new ModelAndView("index");return mav;} }

  

转载于:https://www.cnblogs.com/sword-successful/p/6710106.html

《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读

总结

以上是生活随笔为你收集整理的SpringMVC4集成ehcache的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。