spring-boot 和 redis 集成的一个小例子

来源:互联网 发布:手机密码下载软件 编辑:程序博客网 时间:2024/05/17 07:08

转自:http://blog.csdn.net/a67474506/article/details/52595053

在网上看到好多的spring-boot和redis集成的,弄到本地一直报Error resolving template "get", template might not exist or might not be accessible by any of the configured Template Resolvers错误,大概是因为模板什么的没有找到,网上找了好多方法都是不奏效。

然后找其他的方式,找到一个亲测能用的方法。

项目的结构:



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;@Componentpublic class RedisClient {@Autowiredprivate 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;      }        }  

要说一下的是,如果redis设置了密码启动的时候要用 redis-server.exe  redis.window.conf 启动,用来启用密码。









0 0
原创粉丝点击