RedisTemplate 不能按类型装配注入

今天做RedisTemplate的测试,在Spring boot 中自动注入RedisTemplate,测试报错。

@Autowired
private RedisTemplate<Serializable,Serializable> redisTemplate; 

报错:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ‘org.springframework.data.redis.core.RedisTemplate<java.io.Serializable, java.io.Serializable>‘ available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

看spring boot文档发现有这么一句:
If you add a @Bean of your own of any of the auto-configured types it will replace the default (except in the case of RedisTemplate the exclusion is based on the bean name ‘redisTemplate’ not its type).

将代码改成:

@Resource
private RedisTemplate<Serializable,Serializable> redisTemplate; 

测试通过。

时间: 2024-10-03 13:47:43

RedisTemplate 不能按类型装配注入的相关文章

【Spring实战】—— 7 复杂集合类型的注入

之前讲解了Spring的基本类型和bean引用的注入,接下来学习一下复杂集合类型的注入,例如:List.Set.Map等. 对于程序员来说,掌握多种语言是基本的技能. 我们这里做了一个小例子,程序员们是一个Bean实例,而掌握的编程语言则是放入一个集合类型中进行注入. 简单的来说: List是一种按照序号标识的集合, Set与List相似但是元素不允许重复, Map则是一种自定的键值对,键值都可以是任意的类型. Bean的实现类 public class Programmer { public

Spring.Net学习笔记七(集合类型的注入)

Spring.NET还支持集合类型的注入.而且使用起来也比较方便. 一.ILIst类型 使用<list>元素作为ILIst的标签,value为集合中元素的值.也可以注入对象,甚至关联其它对象,使用 <ref/>元素表示关联的对象,object 属性为所关联对象的id或name.集合可以为空,用<null/>元素来标记. 在<list>元素中设置 element-type 属性表示泛型T的类型,例如 element-type="int"  

Spring中集合类型属性注入

我们都知道如何去注入普通属性的值,非常简单,那么我们如何去注入开发中常见的集合类型的属性了,别急,往下看. 这里将介绍如何给Map list set Array Properties 这些属性注入值. 1.创建一个类:员工类Employee package cn.entity; /** * 员工类 * * @author hyj * */ public class Employee { //员工年龄 private Integer age; //员工姓名 private String name;

Spring框架xml配置文件 复杂类型属性注入——数组 list map properties

Person类中的各种属性写法如下: package com.swift.person; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Properties; public class Person { //普通字符串 private String name; //字符串数组 private String[] arr; //字符串列表 private List<Stri

SQL注入学习总结(七):其他类型SQL注入之SQL约束攻击

其他类型注入的详解(4) 4.sql约束攻击 知识点 数据库字符串比较:在数据库对字符串进行比较时,如果两个字符的长度不一样,则会将较短的字符串末尾填充空格,使两个字符串的长度一致. 比如这两条语句 select * from admin where username='vampire' select *from admin where username='vampire ' 他们的查询结果是一致的. INSERT截断: 这是数据库的另一个特性,当设计一字段时,我们都必须对其设定一个最大长度,比

RedisTemplate中zset类型的使用

简述 上一文中简述了使用StringRedisTemplate操作redis中的set类型,今天来记录一下操作zset类型的主要方法 代码 @RunWith(SpringRunner.class) @SpringBootTest public class ZSetDemo { @Autowired private StringRedisTemplate redisTemplate; @Test public void test1() { //向集合中插入元素,并设置分数 redisTemplat

类型SQL注入实验 Part1

准备为PHPstudy环境 <?php $id = $_GET['t'];$conn = mysql_connect("127.0.0.1","root","root");mysql_select_db("kimmy",$conn);$sql="select * from admin where use=$title"; $result = mysql_query($sql);while($row =

Spring @Resource, @Autowired and @Inject 注入

Overview I’ve been asked several times to explain the difference between injecting Spring beans with ‘@Resource’, ‘@Autowired’, and ‘@Inject’. While I received a few opinions from colleagues and read a couple of posts on this topic I didn’t feel like

Spring中Ioc容器的注入方式

1 通过setter方法注入 bean类: package com.test; public class UserServiceImplement implements IUserService { private IUserDao user; public IUserDao getUser() { return user; } public void setUser(IUserDao user) { this.user = user; } public void saveUser() { us