Spring+springMvc+redis+elasticsearch

来源:互联网 发布:足控的软件 编辑:程序博客网 时间:2024/06/07 22:30

前言:esredis实在网上跟各位前辈学的,若有相同的地方,请见谅!


Step1:下载附件elasticsearch-2.4.0 redis-2.4.5服务器

 

Step2: redis-2.4.5配置密码,默认无密码,被保护,只能本机访问,所以设置密码,elasticsearch默认集群名称elasticsearch

 

Step3: 下载(redis-mannager)调试(我没有用,我是直接命令调试的)

 

Step4: 下载组件

Redis

<dependency>  

    <groupId>org.springframework.data</groupId>  

    <artifactId>spring-data-redis</artifactId>  

    <version>1.6.1.RELEASE</version>  

</dependency>  

<dependency>  

    <groupId>redis.clients</groupId>  

    <artifactId>jedis</artifactId>  

    <version>2.7.3</version>  

</dependency>  

Elasticsearch

<dependency>

    <groupId>fr.pilato.spring</groupId>

    <artifactId>spring-elasticsearch</artifactId>

    <version>2.0.0</version>

</dependency>

<dependency>

<groupId>org.springframework.data</groupId>

<artifactId>spring-data-elasticsearch</artifactId>

<version>2.0.4.RELEASE</version>

</dependency>

 <dependency>

<groupId>org.elasticsearch</groupId>

<artifactId>elasticsearch</artifactId>

<version>2.4.0</version>

</dependency>

<dependency>

<groupId>org.springframework.data</groupId>

<artifactId>spring-data-jpa</artifactId>

<version>1.8.0.RELEASE</version>

</dependency>

<dependency>

<groupId>org.springframework.data</groupId>

<artifactId>spring-data-commons-core</artifactId>

<version>1.4.0.RELEASE</version>

</dependency>      

Step5: 配置文件

elaticsearch.properties

elasticsearch.esNodes=127.0.0.1:9300

elasticsearch.cluster.name=elasticsearch

 

redis.properties

#redis中心  

redis.host=127.0.0.1  

redis.port=6379  

redis.password=123456

redis.maxIdle=100  

redis.maxActive=300  

redis.maxWait=1000  

redis.testOnBorrow=true  

redis.timeout=100000  

  

# 不需要加入缓存的类  

targetNames=

#targetNames=xxxRecordManager,xxxSetRecordManager,xxxStatisticsIdentificationManager  

# 不需要缓存的方法  

methodNames=  

#设置缓存失效时间  

#com.service.impl.xxxRecordManager= 60  

#com.service.impl.xxxSetRecordManager= 60  

defaultCacheExpireTime=3600  

fep.local.cache.capacity =10000  

 

elasticsearch.xml

<?xml version="1.0" encoding="UTF-8"?>  

<beans xmlns="http://www.springframework.org/schema/beans"

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xmlns:context="http://www.springframework.org/schema/context"

       xmlns:mvc="http://www.springframework.org/schema/mvc"

       xmlns:jpa="http://www.springframework.org/schema/data/jpa"

       xmlns:elasticsearch="http://www.springframework.org/schema/data/elasticsearch"

       xsi:schemaLocation="

       http://www.springframework.org/schema/beans

         http://www.springframework.org/schema/beans/spring-beans-4.3.xsd

         http://www.springframework.org/schema/context

         http://www.springframework.org/schema/context/spring-context-4.3.xsd

         http://www.springframework.org/schema/mvc

         http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd

         http://www.springframework.org/schema/data/jpa

         http://www.springframework.org/schema/data/jpa/spring-jpa-1.8.xsd

         http://www.springframework.org/schema/data/elasticsearch

         http://www.springframework.org/schema/data/elasticsearch/spring-elasticsearch-1.0.xsd

      ">

    

<!--  <elasticsearch:transport-client id="clients"

                                    cluster-nodes="127.0.0.1:9300"

                                    cluster-name="elasticSearchClu"

                                    client-transport-sniff="false"/> -->

<elasticsearch:transport-client id="client" cluster-nodes="${elasticsearch.esNodes}" cluster-name="${elasticsearch.cluster.name}"   

client-transport-sniff="false"/>

<bean name="elasticsearchTemplate" class="org.springframework.data.elasticsearch.core.ElasticsearchTemplate">

        <constructor-arg name="client" ref="client"/>

</bean>

<bean id="simpleElasticsearchRepository"

          class="org.springframework.data.elasticsearch.repository.support.SimpleElasticsearchRepository">

        <constructor-arg name="elasticsearchOperations" ref="elasticsearchTemplate"/>

</bean>

</beans>  

 

Redis.xml

<beans xmlns="http://www.springframework.org/schema/beans"

 

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

 

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd" default-autowire="byName">

 

 <!-- jedis 配置 -->  

   <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig" >  

         <property name="maxIdle" value="${redis.maxIdle}" />  

         <property name="maxWaitMillis" value="${redis.maxWait}" />  

         <property name="testOnBorrow" value="${redis.testOnBorrow}" />  

   </bean >  

  <!-- redis服务器中心 -->  

   <bean id="connectionFactory"  class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" >  

         <property name="poolConfig" ref="poolConfig" />  

         <property name="port" value="${redis.port}" />  

         <property name="hostName" value="${redis.host}" />  

         <property name="password" value="${redis.password}" />  

         <property name="timeout" value="${redis.timeout}" ></property>  

   </bean >  

   <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate" >  

         <property name="connectionFactory" ref="connectionFactory" />  

         <property name="keySerializer" >  

             <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />  

         </property>  

         <property name="valueSerializer" >  

             <bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" />  

         </property>  

          <property name="hashKeySerializer">  

        <bean class="org.springframework.data.redis.serializer.StringRedisSerializer"/>  

         </property>

         <property name="hashValueSerializer">  

        <bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"/>  

         </property>  

   </bean >  

 

</beans>

 

Step6: 将配置文件引入到spring

 

 

Step7:先从ES接口开始

工具类ElasticsearchUntil.java EsModel.java

接口类:ElasticsearchServiceI.java QueryElasticsearchServiceI.java

        QueryElasticsearchServiceImpl.java ElasticsearchServiceImpl.java

资源请在附件里面下

注意:如果es版本不同,请在下组件的地方修改相应的版本

 

以上文件在附件里面

 

Step8: redis 接口

RedisBaseServiceImpl.java RedisBaseServiceI.java RedisExpireTime.java(设置过期时间)

以上文件在附件里面

Step9: 控制层(测试)

以下我就贴图了,根据自己的业务修改

Es

 

 

Redis

 

 

 

OK,就算完了,下次把支付的写一下(支付宝和微信)

附件:请在我上传的资源下载http://download.csdn.net/download/qq_25800733/10151163

原创粉丝点击