編寫一個操做Redis的工具類,在該類中須要注入org.springframework.data.redis.core.RedisTemplate
,而後在static方法中調用 redisTemplate
。html
private static RedisTemplate<String, Object> redisTemplate; public void setRedisTemplate(RedisTemplate<String, Object> redisTemplate){ RedisUtil.redisTemplate = redisTemplate; }
可是這樣作須要一個揭露該setter的bean實例(筆者注:該方法還沒實踐過,方法2是可行的)。java
private static RedisTemplate<String, Object> redisTemplate; public static void setRedisTemplate(RedisTemplate<String, Object> redisTemplate){ RedisUtil.redisTemplate = redisTemplate; }
在配置文件中添加以下配置:redis
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="staticMethod" value="org.project.utils.RedisUtil.setRedisTemplate" /> <property name="arguments"> <list> <ref bean="redisTemplate" /> </list> </property> </bean>``` - ###參考: 1. [How to make spring inject value into a static field](https://stackoverflow.com/questions/11324372/how-to-make-spring-inject-value-into-a-static-field) - ###補充: 歡迎你們分享你的想法和實踐。