content: package com.lorne.tx;
  
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
  import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
  import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
  import org.springframework.boot.context.properties.ConfigurationProperties;
  import org.springframework.context.annotation.Bean;
  import org.springframework.context.annotation.Configuration;
  import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
  import org.springframework.data.redis.core.RedisTemplate;
  import org.springframework.data.redis.core.StringRedisTemplate;
  import redis.clients.jedis.JedisPoolConfig;
  
  /**
   * Created by lorne on 2017/7/5.
   */
  
  @Configuration
  @EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
  public class RedisConfig {
  
      private static Logger logger = LoggerFactory.getLogger(RedisConfig.class);
  
      @Bean
      @ConfigurationProperties(prefix = "spring.redis")
      public JedisPoolConfig getRedisConfig() {
          JedisPoolConfig config = new JedisPoolConfig();
          return config;
      }
  
      @Bean
      @ConfigurationProperties(prefix = "spring.redis")
      public JedisConnectionFactory getConnectionFactory() {
          JedisConnectionFactory factory = new JedisConnectionFactory();
          JedisPoolConfig config = getRedisConfig();
          factory.setPoolConfig(config);
          logger.info("JedisConnectionFactory bean init success.");
          return factory;
      }
  
  
      @Bean
      public RedisTemplate<?, ?> getRedisTemplate() {
          RedisTemplate<?, ?> template = new StringRedisTemplate(getConnectionFactory());
          return template;
      }
  }
  