类中怎么使用在spring配置文件中已经创建好的bean呢

在整合redis+shiro遇到这样一个问题,在spring配置文件里面创建了一个这样的bean

  <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
        <property name="connectionFactory"   ref="connectionFactory" />
        <!--key 的存储不使用默认的 JDK 序列化,而是使用 StringRedisSerializer 的序列化方式-->
        <property name="hashKeySerializer" ref="stringRedisSerializer"/>
        <property name="keySerializer" ref="stringRedisSerializer"/>
    </bean>

然后在ShiroRedisCache类文件中,使用@Autowired注入的redisTemplate一直为空值

 @Autowired
    private RedisTemplate<Serializable,Serializable> redisTemplate;

但是使用加载配置文件的方式,就可以正常获得redisTemplate的值

 private static ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:spring.xml");

    private static RedisTemplate<Serializable,Serializable> redisTemplate = (RedisTemplate<Serializable, Serializable>) ac.getBean("redisTemplate");

请问哪位大神能够帮忙解答一下,应该怎么使用注解方式注入bean

     @Autowired
    private RedisTemplate<Serializable,Serializable> redisTemplate;

粘贴到一个新建的类里面,只注入这一个,看有没注入。
排查和ShiroRedisCache有没有关系
2.

    @Autowired
    private RedisTemplate  redisTemplate;

去掉泛型再看一看,能不能注入

3.在一个方法里,调用ApplicationContextAware的方法,看看容器里到底有没有这个bean。有的话,看具体信息是什么

4.是不是xml没有加载,环境配错了

5.或许重启就好了