Springmvc+Redis应用实例

第一步: 创建maven项目:

实例pom.xml内容如下

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">
<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">modelVersion</span><span style="color: #0000ff;">&gt;</span>4.0.0<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">modelVersion</span><span style="color: #0000ff;">&gt;</span>
<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">packaging</span><span style="color: #0000ff;">&gt;</span>war<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">packaging</span><span style="color: #0000ff;">&gt;</span>

<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">name</span><span style="color: #0000ff;">&gt;</span>orm-bae<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">name</span><span style="color: #0000ff;">&gt;</span>
<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>com.orm<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>
<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>orm-bae<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>
<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>0.0.1-SNAPSHOT<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>

<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">properties</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">org.springframework.version</span><span style="color: #0000ff;">&gt;</span>3.0.5.RELEASE<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">org.springframework.version</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">project.build.sourceEncoding</span><span style="color: #0000ff;">&gt;</span>UTF-8<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">project.build.sourceEncoding</span><span style="color: #0000ff;">&gt;</span> 
<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">properties</span><span style="color: #0000ff;">&gt;</span>  

<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependencies</span><span style="color: #0000ff;">&gt;</span>
    
    <span style="color: #008000;">&lt;!--</span><span style="color: #008000;"> config junit jar </span><span style="color: #008000;">--&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>junit<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>junit<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>4.8.2<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">scope</span><span style="color: #0000ff;">&gt;</span>test<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">scope</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  

    <span style="color: #008000;">&lt;!--</span><span style="color: #008000;"> config redis data and client jar</span><span style="color: #008000;">--&gt;</span> 
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.springframework.data<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>spring-data-redis<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>1.0.2.RELEASE<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>      
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>redis.clients<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>jedis<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>2.1.0<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>
    
    <span style="color: #008000;">&lt;!--</span><span style="color: #008000;"> config need jar </span><span style="color: #008000;">--&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>commons-lang<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>commons-lang<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>2.6<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>
    
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.apache.geronimo.specs<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>geronimo-servlet_3.0_spec<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>1.0<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>

    <span style="color: #008000;">&lt;!--</span><span style="color: #008000;"> cofig spring jar </span><span style="color: #008000;">--&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.springframework<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>spring-core<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>${org.springframework.version}<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  

    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.springframework<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>spring-expression<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>${org.springframework.version}<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  

    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.springframework<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>spring-beans<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>${org.springframework.version}<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  

    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.springframework<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>spring-aop<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>${org.springframework.version}<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  

    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.springframework<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>spring-context<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>${org.springframework.version}<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  

    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.springframework<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>spring-context-support<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>${org.springframework.version}<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  

    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.springframework<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>spring-tx<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>${org.springframework.version}<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  

    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.springframework<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>spring-jdbc<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>${org.springframework.version}<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  

    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.springframework<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>spring-orm<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>${org.springframework.version}<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  

    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.springframework<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>spring-oxm<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>${org.springframework.version}<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  

    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.springframework<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>spring-web<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>${org.springframework.version}<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  

    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.springframework<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>spring-webmvc<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>${org.springframework.version}<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  

    
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.springframework<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>spring-webmvc-portlet<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>${org.springframework.version}<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  

    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>org.springframework<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>spring-test<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>${org.springframework.version}<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">version</span><span style="color: #0000ff;">&gt;</span>  
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">scope</span><span style="color: #0000ff;">&gt;</span>test<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">scope</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">&gt;</span>  

<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">dependencies</span><span style="color: #0000ff;">&gt;</span>

<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">build</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">resources</span><span style="color: #0000ff;">&gt;</span>
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">resource</span><span style="color: #0000ff;">&gt;</span>
            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">directory</span><span style="color: #0000ff;">&gt;</span>/src/main/resources<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">directory</span><span style="color: #0000ff;">&gt;</span>
            <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">filtering</span><span style="color: #0000ff;">&gt;</span>true<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">filtering</span><span style="color: #0000ff;">&gt;</span>
        <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">resource</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">resources</span><span style="color: #0000ff;">&gt;</span>
<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">build</span><span style="color: #0000ff;">&gt;</span>

</project>

复制代码

第二步:配置文件整合

Web.xml文件配置

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
         xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">listener</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">listener-class</span><span style="color: #0000ff;">&gt;</span>org.springframework.web.context.ContextLoaderListener<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">listener-class</span><span style="color: #0000ff;">&gt;</span>
<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">listener</span><span style="color: #0000ff;">&gt;</span>

<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">context-param</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">param-name</span><span style="color: #0000ff;">&gt;</span>contextConfigLocation<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">param-name</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">param-value</span><span style="color: #0000ff;">&gt;</span>/WEB-INF/context/spring-context.xml<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">param-value</span><span style="color: #0000ff;">&gt;</span>
<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">context-param</span><span style="color: #0000ff;">&gt;</span>

<span style="color: #008000;">&lt;!--</span><span style="color: #008000;"> Spring字符集过滤器 </span><span style="color: #008000;">--&gt;</span>
<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">filter</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">filter-name</span><span style="color: #0000ff;">&gt;</span>SpringEncodingFilter<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">filter-name</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">filter-class</span><span style="color: #0000ff;">&gt;</span>org.springframework.web.filter.CharacterEncodingFilter<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">filter-class</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">init-param</span><span style="color: #0000ff;">&gt;</span>
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">param-name</span><span style="color: #0000ff;">&gt;</span>encoding<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">param-name</span><span style="color: #0000ff;">&gt;</span>
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">param-value</span><span style="color: #0000ff;">&gt;</span>UTF-8<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">param-value</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">init-param</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">init-param</span><span style="color: #0000ff;">&gt;</span>
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">param-name</span><span style="color: #0000ff;">&gt;</span>forceEncoding<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">param-name</span><span style="color: #0000ff;">&gt;</span>
        <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">param-value</span><span style="color: #0000ff;">&gt;</span>true<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">param-value</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">init-param</span><span style="color: #0000ff;">&gt;</span>
<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">filter</span><span style="color: #0000ff;">&gt;</span>
<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">filter-mapping</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">filter-name</span><span style="color: #0000ff;">&gt;</span>SpringEncodingFilter<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">filter-name</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">url-pattern</span><span style="color: #0000ff;">&gt;</span>/*<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">url-pattern</span><span style="color: #0000ff;">&gt;</span>
<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">filter-mapping</span><span style="color: #0000ff;">&gt;</span>


<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">servlet</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">servlet-name</span><span style="color: #0000ff;">&gt;</span>mvc<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">servlet-name</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">servlet-class</span><span style="color: #0000ff;">&gt;</span>org.springframework.web.servlet.DispatcherServlet<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">servlet-class</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">init-param</span><span style="color: #0000ff;">&gt;</span>
             <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">param-name</span><span style="color: #0000ff;">&gt;</span>contextConfigLocation<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">param-name</span><span style="color: #0000ff;">&gt;</span>
             <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">param-value</span><span style="color: #0000ff;">&gt;</span>/WEB-INF/context/spring-mvc.xml<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">param-value</span><span style="color: #0000ff;">&gt;</span>
     <span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">init-param</span><span style="color: #0000ff;">&gt;</span>
     <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">load-on-startup</span><span style="color: #0000ff;">&gt;</span>2<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">load-on-startup</span><span style="color: #0000ff;">&gt;</span>
<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">servlet</span><span style="color: #0000ff;">&gt;</span>

<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">servlet-mapping</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">servlet-name</span><span style="color: #0000ff;">&gt;</span>mvc<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">servlet-name</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">url-pattern</span><span style="color: #0000ff;">&gt;</span>/<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">url-pattern</span><span style="color: #0000ff;">&gt;</span>
<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">servlet-mapping</span><span style="color: #0000ff;">&gt;</span>

<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">welcome-file-list</span><span style="color: #0000ff;">&gt;</span>
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">welcome-file</span><span style="color: #0000ff;">&gt;</span>index.jsp<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">welcome-file</span><span style="color: #0000ff;">&gt;</span>
<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">welcome-file-list</span><span style="color: #0000ff;">&gt;</span>

</web-app>

复制代码

spring-context.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:p="http://www.springframework.org/schema/p"
    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd  
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd              
            http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">
<span style="color: #008000;">&lt;!--</span><span style="color: #008000;"> 激活@Controller模式 </span><span style="color: #008000;">--&gt;</span>
<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">mvc:annotation-driven </span><span style="color: #0000ff;">/&gt;</span>

<span style="color: #008000;">&lt;!--</span><span style="color: #008000;"> 对包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 需要更改 </span><span style="color: #008000;">--&gt;</span>
<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">context:component-scan </span><span style="color: #ff0000;">base-package</span><span style="color: #0000ff;">="com.pudp.bae.*"</span> <span style="color: #0000ff;">/&gt;</span>

<span style="color: #008000;">&lt;!--</span><span style="color: #008000;"> 引入同文件夹下的redis属性配置文件 </span><span style="color: #008000;">--&gt;</span>
<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">import </span><span style="color: #ff0000;">resource</span><span style="color: #0000ff;">="redis-context.xml"</span><span style="color: #0000ff;">/&gt;</span>

</beans>

复制代码

redis-context.xml内容

复制代码
<beans     xmlns="http://www.springframework.org/schema/beans" 
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:p="http://www.springframework.org/schema/p" 
           xmlns:tx="http://www.springframework.org/schema/tx"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="
            http://www.springframework.org/schema/beans 
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/tx 
            http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-3.0.xsd
               ">
<span style="color: #008000;">&lt;!--</span><span style="color: #008000;"> scanner redis properties  </span><span style="color: #008000;">--&gt;</span> 
<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">context:property-placeholder </span><span style="color: #ff0000;">location</span><span style="color: #0000ff;">="/WEB-INF/property/redis.properties"</span> <span style="color: #0000ff;">/&gt;</span>

<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">bean </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="poolConfig"</span><span style="color: #ff0000;"> class</span><span style="color: #0000ff;">="redis.clients.jedis.JedisPoolConfig"</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">property </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="maxIdle"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="${redis.maxIdle}"</span> <span style="color: #0000ff;">/&gt;</span>  
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">property </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="maxActive"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="${redis.maxActive}"</span> <span style="color: #0000ff;">/&gt;</span>  
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">property </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="maxWait"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="${redis.maxWait}"</span> <span style="color: #0000ff;">/&gt;</span>  
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">property </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="testOnBorrow"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="${redis.testOnBorrow}"</span> <span style="color: #0000ff;">/&gt;</span>  
<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">bean</span><span style="color: #0000ff;">&gt;</span>  
  
<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">bean </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="connectionFactory"</span><span style="color: #ff0000;"> class</span><span style="color: #0000ff;">="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"</span><span style="color: #ff0000;">  
    p:host-name</span><span style="color: #0000ff;">="${redis.host}"</span><span style="color: #ff0000;"> 
    p:port</span><span style="color: #0000ff;">="${redis.port}"</span><span style="color: #ff0000;"> 
    p:password</span><span style="color: #0000ff;">="${redis.pass}"</span><span style="color: #ff0000;">  
    p:pool-config-ref</span><span style="color: #0000ff;">="poolConfig"</span><span style="color: #0000ff;">/&gt;</span>  
  
<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">bean </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="redisTemplate"</span><span style="color: #ff0000;"> class</span><span style="color: #0000ff;">="org.springframework.data.redis.core.StringRedisTemplate"</span><span style="color: #0000ff;">&gt;</span>  
    <span style="color: #0000ff;">&lt;</span><span style="color: #800000;">property </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="connectionFactory"</span><span style="color: #ff0000;">   ref</span><span style="color: #0000ff;">="connectionFactory"</span> <span style="color: #0000ff;">/&gt;</span>  
<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">bean</span><span style="color: #0000ff;">&gt;</span>      

</beans>

复制代码

Redis.properties文件内容

复制代码
# Redis settings
#redis.host=192.168.20.101
#redis.port=6380
#redis.pass=foobared
redis.host=127.0.0.1
redis.port=6379
redis.pass=

redis.maxIdle=300
redis.maxActive=600
redis.maxWait=1000
redis.testOnBorrow=true

复制代码

第三步:SpringmvcRedis的支持与实例应用.

实例对象

复制代码
package com.pudp.bae.model;

import com.pudp.bae.base.BaseModel;

public class Member extends BaseModel{

/**
 * 
 */
private static final long serialVersionUID = -1959528436584592183L;


private String id;
private String nickname;

public Member(){}

public Member(String id, String nickname){
    this.setId(id);
    this.setNickname(nickname);
}

public String getId() {
    return id;
}
public void setId(String id) {
    this.id = id;
}
public String getNickname() {
    return nickname;
}
public void setNickname(String nickname) {
    this.nickname = nickname;
}

}

复制代码
View Code

Redis对象持久化操作

复制代码
package com.pudp.bae.base;

import java.io.Serializable;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;

public abstract class RedisGeneratorDao<K extends Serializable, V extends Serializable> {

@Autowired
</span><span style="color: #0000ff;">protected</span> RedisTemplate&lt;K,V&gt;<span style="color: #000000;"> redisTemplate ;

</span><span style="color: #008000;">/**</span><span style="color: #008000;"> 
 * 设置redisTemplate 
 * </span><span style="color: #808080;">@param</span><span style="color: #008000;"> redisTemplate the redisTemplate to set 
 </span><span style="color: #008000;">*/</span>  
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span> setRedisTemplate(RedisTemplate&lt;K, V&gt;<span style="color: #000000;"> redisTemplate) {  
    </span><span style="color: #0000ff;">this</span>.redisTemplate =<span style="color: #000000;"> redisTemplate;  
}  
  
</span><span style="color: #008000;">/**</span><span style="color: #008000;"> 
 * 获取 RedisSerializer 
 * &lt;br&gt;------------------------------&lt;br&gt; 
 </span><span style="color: #008000;">*/</span>  
<span style="color: #0000ff;">protected</span> RedisSerializer&lt;String&gt;<span style="color: #000000;"> getRedisSerializer() {  
    </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> redisTemplate.getStringSerializer();  
}  

}

复制代码
复制代码
package com.pudp.bae.base;

import java.io.Serializable;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;

public abstract class RedisGeneratorDao<K extends Serializable, V extends Serializable> {

@Autowired
</span><span style="color: #0000ff;">protected</span> RedisTemplate&lt;K,V&gt;<span style="color: #000000;"> redisTemplate ;

</span><span style="color: #008000;">/**</span><span style="color: #008000;"> 
 * 设置redisTemplate 
 * </span><span style="color: #808080;">@param</span><span style="color: #008000;"> redisTemplate the redisTemplate to set 
 </span><span style="color: #008000;">*/</span>  
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span> setRedisTemplate(RedisTemplate&lt;K, V&gt;<span style="color: #000000;"> redisTemplate) {  
    </span><span style="color: #0000ff;">this</span>.redisTemplate =<span style="color: #000000;"> redisTemplate;  
}  
  
</span><span style="color: #008000;">/**</span><span style="color: #008000;"> 
 * 获取 RedisSerializer 
 * &lt;br&gt;------------------------------&lt;br&gt; 
 </span><span style="color: #008000;">*/</span>  
<span style="color: #0000ff;">protected</span> RedisSerializer&lt;String&gt;<span style="color: #000000;"> getRedisSerializer() {  
    </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> redisTemplate.getStringSerializer();  
}  

}

复制代码

redis对象操作

复制代码
package com.pudp.bae.dao.redis;

import java.util.ArrayList;
import java.util.List;

import org.springframework.dao.DataAccessException;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.stereotype.Repository;
import org.springframework.util.Assert;

import com.pudp.bae.base.RedisGeneratorDao;
import com.pudp.bae.model.Member;

/**

*/

@Repository(value=“memberDao”)
public class MemberDaoImpl extends RedisGeneratorDao<String,Member> implements MemberDao{

</span><span style="color: #008000;">/**</span><span style="color: #008000;">
 * 添加对象
 </span><span style="color: #008000;">*/</span><span style="color: #000000;">
@Override
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">boolean</span> add(<span style="color: #0000ff;">final</span><span style="color: #000000;"> Member member) {  
    </span><span style="color: #0000ff;">boolean</span> result = redisTemplate.execute(<span style="color: #0000ff;">new</span> RedisCallback&lt;Boolean&gt;<span style="color: #000000;">() {  
        </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> Boolean doInRedis(RedisConnection connection)  
                </span><span style="color: #0000ff;">throws</span><span style="color: #000000;"> DataAccessException {  
            RedisSerializer</span>&lt;String&gt; serializer =<span style="color: #000000;"> getRedisSerializer();  
            </span><span style="color: #0000ff;">byte</span>[] key  =<span style="color: #000000;"> serializer.serialize(member.getId());  
            </span><span style="color: #0000ff;">byte</span>[] name =<span style="color: #000000;"> serializer.serialize(member.getNickname());  
            </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> connection.setNX(key, name);  
        }  
    });  
    </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> result;  
}  

</span><span style="color: #008000;">/**</span><span style="color: #008000;">
 * 添加集合
 </span><span style="color: #008000;">*/</span><span style="color: #000000;">
@Override
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">boolean</span> add(<span style="color: #0000ff;">final</span> List&lt;Member&gt;<span style="color: #000000;"> list) {
    Assert.notEmpty(list);  
    </span><span style="color: #0000ff;">boolean</span> result = redisTemplate.execute(<span style="color: #0000ff;">new</span> RedisCallback&lt;Boolean&gt;<span style="color: #000000;">() {  
        </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> Boolean doInRedis(RedisConnection connection)  
                </span><span style="color: #0000ff;">throws</span><span style="color: #000000;"> DataAccessException {  
            RedisSerializer</span>&lt;String&gt; serializer =<span style="color: #000000;"> getRedisSerializer();  
            </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> (Member member : list) {  
                </span><span style="color: #0000ff;">byte</span>[] key  =<span style="color: #000000;"> serializer.serialize(member.getId());  
                </span><span style="color: #0000ff;">byte</span>[] name =<span style="color: #000000;"> serializer.serialize(member.getNickname());  
                connection.setNX(key, name);  
            }  
            </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #000000;">;  
        }  
    }, </span><span style="color: #0000ff;">false</span>, <span style="color: #0000ff;">true</span><span style="color: #000000;">);  
    </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> result; 
}  

</span><span style="color: #008000;">/**</span><span style="color: #008000;">
 * 删除对象 ,依赖key
 </span><span style="color: #008000;">*/</span>
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> delete(String key) {  
    List</span>&lt;String&gt; list = <span style="color: #0000ff;">new</span> ArrayList&lt;String&gt;<span style="color: #000000;">();  
    list.add(key);  
    delete(list);  
}  

</span><span style="color: #008000;">/**</span><span style="color: #008000;">
 * 删除集合 ,依赖key集合
 </span><span style="color: #008000;">*/</span>
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span> delete(List&lt;String&gt;<span style="color: #000000;"> keys) {  
    redisTemplate.delete(keys);  
}  

</span><span style="color: #008000;">/**</span><span style="color: #008000;">
 * 修改对象 
 </span><span style="color: #008000;">*/</span>
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">boolean</span> update(<span style="color: #0000ff;">final</span><span style="color: #000000;"> Member member) {  
    String key </span>=<span style="color: #000000;"> member.getId();  
    </span><span style="color: #0000ff;">if</span> (get(key) == <span style="color: #0000ff;">null</span><span style="color: #000000;">) {  
        </span><span style="color: #0000ff;">throw</span> <span style="color: #0000ff;">new</span> NullPointerException("数据行不存在, key = " +<span style="color: #000000;"> key);  
    }  
    </span><span style="color: #0000ff;">boolean</span> result = redisTemplate.execute(<span style="color: #0000ff;">new</span> RedisCallback&lt;Boolean&gt;<span style="color: #000000;">() {  
        </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> Boolean doInRedis(RedisConnection connection)  
                </span><span style="color: #0000ff;">throws</span><span style="color: #000000;"> DataAccessException {  
            RedisSerializer</span>&lt;String&gt; serializer =<span style="color: #000000;"> getRedisSerializer();  
            </span><span style="color: #0000ff;">byte</span>[] key  =<span style="color: #000000;"> serializer.serialize(member.getId());  
            </span><span style="color: #0000ff;">byte</span>[] name =<span style="color: #000000;"> serializer.serialize(member.getNickname());  
            connection.set(key, name);  
            </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #000000;">;  
        }  
    });  
    </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> result;  
}  

</span><span style="color: #008000;">/**</span><span style="color: #008000;">
 * 根据key获取对象
 </span><span style="color: #008000;">*/</span>
<span style="color: #0000ff;">public</span> Member get(<span style="color: #0000ff;">final</span><span style="color: #000000;"> String keyId) {  
    Member result </span>= redisTemplate.execute(<span style="color: #0000ff;">new</span> RedisCallback&lt;Member&gt;<span style="color: #000000;">() {  
        </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> Member doInRedis(RedisConnection connection)  
                </span><span style="color: #0000ff;">throws</span><span style="color: #000000;"> DataAccessException {  
            RedisSerializer</span>&lt;String&gt; serializer =<span style="color: #000000;"> getRedisSerializer();  
            </span><span style="color: #0000ff;">byte</span>[] key =<span style="color: #000000;"> serializer.serialize(keyId);  
            </span><span style="color: #0000ff;">byte</span>[] value =<span style="color: #000000;"> connection.get(key);  
            </span><span style="color: #0000ff;">if</span> (value == <span style="color: #0000ff;">null</span><span style="color: #000000;">) {  
                </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">;  
            }  
            String nickname </span>=<span style="color: #000000;"> serializer.deserialize(value);  
            </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">new</span><span style="color: #000000;"> Member(keyId, nickname);  
        }  
    });  
    </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> result;  
}  

}

复制代码
复制代码
package com.pudp.bae.dao.redis;

import java.util.ArrayList;
import java.util.List;

import org.springframework.dao.DataAccessException;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.stereotype.Repository;
import org.springframework.util.Assert;

import com.pudp.bae.base.RedisGeneratorDao;
import com.pudp.bae.model.Member;

/**

*/

@Repository(value=“memberDao”)
public class MemberDaoImpl extends RedisGeneratorDao<String,Member> implements MemberDao{

</span><span style="color: #008000;">/**</span><span style="color: #008000;">
 * 添加对象
 </span><span style="color: #008000;">*/</span><span style="color: #000000;">
@Override
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">boolean</span> add(<span style="color: #0000ff;">final</span><span style="color: #000000;"> Member member) {  
    </span><span style="color: #0000ff;">boolean</span> result = redisTemplate.execute(<span style="color: #0000ff;">new</span> RedisCallback&lt;Boolean&gt;<span style="color: #000000;">() {  
        </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> Boolean doInRedis(RedisConnection connection)  
                </span><span style="color: #0000ff;">throws</span><span style="color: #000000;"> DataAccessException {  
            RedisSerializer</span>&lt;String&gt; serializer =<span style="color: #000000;"> getRedisSerializer();  
            </span><span style="color: #0000ff;">byte</span>[] key  =<span style="color: #000000;"> serializer.serialize(member.getId());  
            </span><span style="color: #0000ff;">byte</span>[] name =<span style="color: #000000;"> serializer.serialize(member.getNickname());  
            </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> connection.setNX(key, name);  
        }  
    });  
    </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> result;  
}  

</span><span style="color: #008000;">/**</span><span style="color: #008000;">
 * 添加集合
 </span><span style="color: #008000;">*/</span><span style="color: #000000;">
@Override
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">boolean</span> add(<span style="color: #0000ff;">final</span> List&lt;Member&gt;<span style="color: #000000;"> list) {
    Assert.notEmpty(list);  
    </span><span style="color: #0000ff;">boolean</span> result = redisTemplate.execute(<span style="color: #0000ff;">new</span> RedisCallback&lt;Boolean&gt;<span style="color: #000000;">() {  
        </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> Boolean doInRedis(RedisConnection connection)  
                </span><span style="color: #0000ff;">throws</span><span style="color: #000000;"> DataAccessException {  
            RedisSerializer</span>&lt;String&gt; serializer =<span style="color: #000000;"> getRedisSerializer();  
            </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> (Member member : list) {  
                </span><span style="color: #0000ff;">byte</span>[] key  =<span style="color: #000000;"> serializer.serialize(member.getId());  
                </span><span style="color: #0000ff;">byte</span>[] name =<span style="color: #000000;"> serializer.serialize(member.getNickname());  
                connection.setNX(key, name);  
            }  
            </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #000000;">;  
        }  
    }, </span><span style="color: #0000ff;">false</span>, <span style="color: #0000ff;">true</span><span style="color: #000000;">);  
    </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> result; 
}  

</span><span style="color: #008000;">/**</span><span style="color: #008000;">
 * 删除对象 ,依赖key
 </span><span style="color: #008000;">*/</span>
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> delete(String key) {  
    List</span>&lt;String&gt; list = <span style="color: #0000ff;">new</span> ArrayList&lt;String&gt;<span style="color: #000000;">();  
    list.add(key);  
    delete(list);  
}  

</span><span style="color: #008000;">/**</span><span style="color: #008000;">
 * 删除集合 ,依赖key集合
 </span><span style="color: #008000;">*/</span>
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span> delete(List&lt;String&gt;<span style="color: #000000;"> keys) {  
    redisTemplate.delete(keys);  
}  

</span><span style="color: #008000;">/**</span><span style="color: #008000;">
 * 修改对象 
 </span><span style="color: #008000;">*/</span>
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">boolean</span> update(<span style="color: #0000ff;">final</span><span style="color: #000000;"> Member member) {  
    String key </span>=<span style="color: #000000;"> member.getId();  
    </span><span style="color: #0000ff;">if</span> (get(key) == <span style="color: #0000ff;">null</span><span style="color: #000000;">) {  
        </span><span style="color: #0000ff;">throw</span> <span style="color: #0000ff;">new</span> NullPointerException("数据行不存在, key = " +<span style="color: #000000;"> key);  
    }  
    </span><span style="color: #0000ff;">boolean</span> result = redisTemplate.execute(<span style="color: #0000ff;">new</span> RedisCallback&lt;Boolean&gt;<span style="color: #000000;">() {  
        </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> Boolean doInRedis(RedisConnection connection)  
                </span><span style="color: #0000ff;">throws</span><span style="color: #000000;"> DataAccessException {  
            RedisSerializer</span>&lt;String&gt; serializer =<span style="color: #000000;"> getRedisSerializer();  
            </span><span style="color: #0000ff;">byte</span>[] key  =<span style="color: #000000;"> serializer.serialize(member.getId());  
            </span><span style="color: #0000ff;">byte</span>[] name =<span style="color: #000000;"> serializer.serialize(member.getNickname());  
            connection.set(key, name);  
            </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #000000;">;  
        }  
    });  
    </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> result;  
}  

</span><span style="color: #008000;">/**</span><span style="color: #008000;">
 * 根据key获取对象
 </span><span style="color: #008000;">*/</span>
<span style="color: #0000ff;">public</span> Member get(<span style="color: #0000ff;">final</span><span style="color: #000000;"> String keyId) {  
    Member result </span>= redisTemplate.execute(<span style="color: #0000ff;">new</span> RedisCallback&lt;Member&gt;<span style="color: #000000;">() {  
        </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> Member doInRedis(RedisConnection connection)  
                </span><span style="color: #0000ff;">throws</span><span style="color: #000000;"> DataAccessException {  
            RedisSerializer</span>&lt;String&gt; serializer =<span style="color: #000000;"> getRedisSerializer();  
            </span><span style="color: #0000ff;">byte</span>[] key =<span style="color: #000000;"> serializer.serialize(keyId);  
            </span><span style="color: #0000ff;">byte</span>[] value =<span style="color: #000000;"> connection.get(key);  
            </span><span style="color: #0000ff;">if</span> (value == <span style="color: #0000ff;">null</span><span style="color: #000000;">) {  
                </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">;  
            }  
            String nickname </span>=<span style="color: #000000;"> serializer.deserialize(value);  
            </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">new</span><span style="color: #000000;"> Member(keyId, nickname);  
        }  
    });  
    </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> result;  
}  

}

复制代码

Controller实现

复制代码
package com.pudp.bae.controller;

import java.util.HashMap;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import com.pudp.bae.base.BaseMultiController;
import com.pudp.bae.model.Member;
import com.pudp.bae.service.MemberService;

@Controller
@RequestMapping(value="/member")
public class MemberController extends BaseMultiController{

@Resource(name</span>="memberService"<span style="color: #000000;">)
</span><span style="color: #0000ff;">private</span><span style="color: #000000;"> MemberService memberService;

</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> setMemberService(MemberService memberService) {
    </span><span style="color: #0000ff;">this</span>.memberService =<span style="color: #000000;"> memberService;
}

@RequestMapping(value</span>={"/add","/add.html"},method=<span style="color: #000000;">{RequestMethod.GET})
</span><span style="color: #0000ff;">public</span><span style="color: #000000;"> ModelAndView add(HttpServletRequest request,HttpServletResponse response){
    Map</span>&lt;String,Object&gt; map = <span style="color: #0000ff;">new</span> HashMap&lt;String, Object&gt;<span style="color: #000000;">();
    </span><span style="color: #0000ff;">return</span> toView("member/add"<span style="color: #000000;">, map);
}

@RequestMapping(value</span>={"/add","/add.html"},method=<span style="color: #000000;">{RequestMethod.POST})
</span><span style="color: #0000ff;">public</span><span style="color: #000000;"> ModelAndView addMember(HttpServletRequest request,HttpServletResponse response,
        @ModelAttribute(</span>"member"<span style="color: #000000;">)Member member){
    Map</span>&lt;String,Object&gt; map = <span style="color: #0000ff;">new</span> HashMap&lt;String, Object&gt;<span style="color: #000000;">();
    System.out.println(member);
    map.put(</span>"message", "成功添加数据到库," +<span style="color: #000000;"> member);
    </span><span style="color: #0000ff;">this</span><span style="color: #000000;">.memberService.add(member);
    </span><span style="color: #0000ff;">return</span> toView("member/message"<span style="color: #000000;">, map);
}

@RequestMapping(value</span>={"/{id:\\d+}/query","/{id:\\d+}/query.html"},method=<span style="color: #000000;">{RequestMethod.GET,RequestMethod.POST})
</span><span style="color: #0000ff;">public</span><span style="color: #000000;"> ModelAndView queryMember(HttpServletRequest request,HttpServletResponse response,
        @PathVariable(</span>"id"<span style="color: #000000;">)String id){
    Map</span>&lt;String,Object&gt; map = <span style="color: #0000ff;">new</span> HashMap&lt;String, Object&gt;<span style="color: #000000;">();
    System.out.println(id);
    Member member </span>= <span style="color: #0000ff;">this</span><span style="color: #000000;">.memberService.get(id);
    </span><span style="color: #0000ff;">if</span>(<span style="color: #0000ff;">null</span>!=<span style="color: #000000;">member){
        map.put(</span>"message", "查询Id=" + id + "的用户名为:" +<span style="color: #000000;"> member.getNickname());
    }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{
        map.put(</span>"message", "没有查询到与Id=" + id + "相关的数据"<span style="color: #000000;">);
    }
    </span><span style="color: #0000ff;">return</span> toView("member/message"<span style="color: #000000;">, map);
}

@RequestMapping(value</span>={"/{id:\\d+}/delete","/{id:\\d+}/delete.html"},method=<span style="color: #000000;">{RequestMethod.GET,RequestMethod.POST})
</span><span style="color: #0000ff;">public</span><span style="color: #000000;"> ModelAndView deleteMember(HttpServletRequest request, HttpServletResponse response,
        @PathVariable(</span>"id"<span style="color: #000000;">)String id){
    Map</span>&lt;String,Object&gt; map = <span style="color: #0000ff;">new</span> HashMap&lt;String, Object&gt;<span style="color: #000000;">();
    </span><span style="color: #0000ff;">try</span><span style="color: #000000;"> {
        </span><span style="color: #0000ff;">this</span><span style="color: #000000;">.memberService.delete(id);
        map.put(</span>"message", "删除Id为" + id +"的用户成功."<span style="color: #000000;">);
    } </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (Exception e) {
        e.printStackTrace();
        map.put(</span>"message", "删除Id为" + id +"的用户失败, "+<span style="color: #000000;">e.getMessage());
    }
    </span><span style="color: #0000ff;">return</span> toView("member/message"<span style="color: #000000;">, map);    
}

}

猜你喜欢

转载自blog.csdn.net/qq_35414397/article/details/84585845