pom.xml
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>自己命名</groupId>
- <artifactId>自己命名</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <boot.version>1.3.5.RELEASE</boot.version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- <version>${boot.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <version>${boot.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>redis.clients</groupId>
- <artifactId>jedis</artifactId>
- <version>2.8.2</version>
- </dependency>
- </dependencies>
- </project>
application.yml
- jedis :
- pool :
- host : 127.0.0.1
- port : 6379
- password : 自己的密码
- timeout : 60000
- config :
- maxTotal: 100
- maxIdle: 10
- maxWaitMillis : 100000
- server :
- port : 8082
app.Java
- package com.example;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.SpringApplication;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import com.example.first.domain.RedisClient;
- /**
- * 是Spring Boot项目的核心注解,主要是开启自动配置
- */
- @SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan
- @RestController
- public class App {
- @Autowired
- private RedisClient redisClinet;
- public static void main(String[] args) {
- SpringApplication.run(App.class, args);
- }
- @RequestMapping("/set")
- public String set(String key, String value) throws Exception{
- redisClinet.set(key, value);
- return "success";
- }
- @RequestMapping("/get")
- public String get(String key) throws Exception {
- return redisClinet.get(key);
- }
- }
redisClient.java
- package com.example.first.domain;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import redis.clients.jedis.Jedis;
- import redis.clients.jedis.JedisPool;
- @Component
- public class RedisClient {
- @Autowired
- private JedisPool jedisPool;
- public void set(String key, String value) throws Exception {
- Jedis jedis = null;
- try {
- jedis = jedisPool.getResource();
- jedis.set(key, value);
- } finally {
- // 返还到连接池
- jedis.close();
- }
- }
- public String get(String key) throws Exception {
- Jedis jedis = null;
- try {
- jedis = jedisPool.getResource();
- return jedis.get(key);
- } finally {
- // 返还到连接池
- jedis.close();
- }
- }
- }
redisConfiguration.java
- package com.example.first.domain;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Qualifier;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import redis.clients.jedis.JedisPool;
- import redis.clients.jedis.JedisPoolConfig;
- @Configuration
- public class RedisConfiguration {
- @Bean(name= "jedis.pool") //加载的applicant.yml中的参数
- @Autowired
- public JedisPool jedisPool(@Qualifier("jedis.pool.config") JedisPoolConfig config,
- @Value("${jedis.pool.host}")String host,
- @Value("${jedis.pool.port}")int port,
- @Value("${jedis.pool.timeout}") int timeout,
- @Value("${jedis.pool.password}") String password) {
- return new JedisPool(config, host, port,timeout,password);
- }
- @Bean(name= "jedis.pool.config")
- public JedisPoolConfig jedisPoolConfig (@Value("${jedis.pool.config.maxTotal}")int maxTotal,
- @Value("${jedis.pool.config.maxIdle}")int maxIdle,
- @Value("${jedis.pool.config.maxWaitMillis}")int maxWaitMillis) {
- JedisPoolConfig config = new JedisPoolConfig();
- config.setMaxTotal(maxTotal);
- config.setMaxIdle(maxIdle);
- config.setMaxWaitMillis(maxWaitMillis);
- return config;
- }
- }