ssm项目-集成Redis(更换版本类加载类错误、类加载器失败问题原因)

主要步骤如下:

一、首先我们需要导入需要使用的jar包

这里要注意各个包的版本问题:
Spring Date Redis 在 2.0.0版本以后需使用Spring5+,以及SpringBoot2+,本文不针对SpringBoot的Redis配置展开,通过注解很容易就能配置。
本机实验版本对应jedis(2.7.1)、fastjson(1.2.76)、spring-data-redis(1.6.2.RELEASE),测试能运行。

	 <!--使用jredis-->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.7.1</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.76</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-redis</artifactId>
            <version>1.6.2.RELEASE</version>
        </dependency>
		<properties>
       <!-- spring版本号 -->
        	<spring.version>4.3.2.RELEASE</spring.version>
	    </properties>

二、我们需要配置Redis使用xml进行配置

简单配置不做太多处理,序列化,集群什么的都不做考虑,想要了解可以参考网上资源

<?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:p="http://www.springframework.org/schema/p"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!-- redis配置 -->
    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <property name="maxIdle" value="5"/>
        <property name="testOnBorrow" value="true"/>
    </bean>
    <!--客户端连接工厂-->
    <bean id="jedisConnFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
          p:use-pool="true" p:hostName="127.0.0.1" p:port="6379" p:password="">
        <constructor-arg name="poolConfig" ref="jedisPoolConfig"/>
    </bean>

    <!-- redis template definition -->
    <bean id="redisTemplate"  class="org.springframework.data.redis.core.RedisTemplate"
          p:connection-factory-ref="jedisConnFactory"

    />

</beans>

三、在需要使用Redis缓存的地方导入类就可以使用了

//导入Template模板
@Autowired
    private RedisTemplate<String, Object> redisTemplate;
    //获取字符串对应的值
	ValueOperations<String, Object> valueOperations = redisTemplate.opsForValue();
	Object obj = valueOperations.get(XXX);

在这里插入图片描述
缓存功能使用

BUG重头戏来了!!!

引用spring-data-redis后在测试类中不报错 但启动Spring项目一直报错误

这个问题说高级不高级,但有时候做web项目就经常能够遇到,一直找,百度你也很难找到对应的情况

这种情况想重现现场还没办法,只能口头分享给大家了,其实这个问题之前在做最开始javaweb项目的时候也遇到过,只是太久没做了就不记得这回事了

加载类错误、类加载器失败,简单来说就是你控制台上面一直显示一堆什么NoClassDefFoundError,这时候注意一定要相信自己的配置环境是没有问题的,而不是一直修改你的配置文件,本人在这个坑里浪费了很久的时间,后面不停修改根据网上说版本问题,最后还把spring全家桶的版本都换了个遍,还出现过类加载器异常的问题,后面终于想到可以是tomcat上没有导入使用的jar包

在这里插入图片描述

ps:一早上加一晚上,浪费不少时间,最后发现,就这?就这??就这???

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值