配置文件存在redis配置如下:
spring.redis.host=127.0.0.1
Java代碼獲取如下
@Component
public class RedisCacheUtils {
private static final Logger logger = LoggerFactory.getLogger(RedisCacheUtils.class);
public static JedisPool jedisPool = null;
private static String host;
@Value("${spring.redis.host}")
public void setHost(String sHost) {
host = sHost;
}
public static Jedis getJedis() {
if (null == jedisPool) {
try {
int maxActive = Integer.valueOf(1000);
int maxIdle = Integer.valueOf(100);
int maxWait = Integer.valueOf(30000);
int port = Integer.valueOf(6379);
String pwd = "密碼也能改成如上述@Value方式注入";
JedisPoolConfig jedisConfig = new JedisPoolConfig();
jedisConfig.setMaxTotal(maxActive);
jedisConfig.setMaxIdle(maxIdle);
jedisConfig.setMaxWaitMillis(maxWait);
jedisConfig.setTestOnBorrow(true);
jedisPool = new JedisPool(jedisConfig, host, port, 1000000, pwd);
logger.info("jedisPool啟動成功,url=" + host + ",port=" + port);
} catch (Exception e) {
logger.error("jedisPool啟動失敗", e);
}
}
try {
return jedisPool.getResource();
} catch (Exception e) {
logger.error("獲取 Jedis失敗", e);
}
return null;
}
}
PS:如果直接在變了上面使用@Value,是會報Null的,相信你也是報了Null才會來查找如何注入。。
