package org.hsweb.concurrent.lock.support.redis; import org.hsweb.concurrent.lock.LockFactory; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.data.redis.core.RedisTemplate; import javax.annotation.Resource; /** * Created by zhouhao on 16-5-27. */ @Configuration @ConditionalOnBean(RedisTemplate.class) @ConditionalOnMissingBean(LockFactory.class) @Order(Ordered.HIGHEST_PRECEDENCE) public class RedisLockFactoryAutoConfig { @Resource public RedisTemplate redisTemplate; @Bean public RedisLockFactory redisLockFactory() { RedisLockFactory lockFactory = new RedisLockFactory(); lockFactory.setRedisTemplate(redisTemplate); return lockFactory; } }