耀眼的橘子的gravatar头像
耀眼的橘子 2017-02-22 11:31:00
ssm+redis +Maven用于内存数据库 (No Sql)入门demo

最近一直是以自学的状态,想把自己学习到的知识分享给大家 ,也是好久没有写博客了。废话不多说 ,直接上代码。

本次项目是 用maven 管理的.开发工具 eclipse

在pom.xml文件中,中关于redis的配置:

<!-- 配置 redis  start-->
  		<dependency> 
			<groupId>org.springframework.data</groupId>
			<artifactId>spring-data-redis</artifactId>
			<version>1.0.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
			<version>2.1.0</version>
		</dependency>
  		
  <!-- 配置 redis  end-->

在 applicationContext.xml 中关于redis的配置,

<?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:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	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/aop 
           http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
           http://www.springframework.org/schema/tx 
           http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

	<!--其实component-scan 就有了annotation-config的功能即把需要的类注册到了spring容器中 -->
	<context:component-scan base-package="com.basessm.service" />
	<!-- 配置事物的注解方式注入 -->  
    <tx:annotation-driven transaction-manager="transactionManager"/>
    
    
<!-- redis配置 -->
     <!-- redis连接池 -->  
    <bean id="jedisConfig" class="redis.clients.jedis.JedisPoolConfig">   
        <property name="maxActive" value="300"></property>  
        <property name="maxIdle" value="200"></property>  
        <property name="maxWait" value="10000"></property>  
        <property name="testOnBorrow" value="true"></property>
        <property name="testOnReturn" value="true"></property>  
    </bean>  
    <!-- redis连接工厂 -->  
    <bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">  
        <property name="hostName" value="127.0.0.1"></property>  
        <property name="port" value="6379"></property>  
        <property name="password" value="foobared"></property>  
        <property name="poolConfig" ref="jedisConfig"></property>  
    </bean>  
     <!-- redis操作模板,这里采用尽量面向对象的模板 -->  
    <bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">  
        <property name="connectionFactory" ref="connectionFactory" />  
    <!--     如果不配置Serializer,那么存储的时候只能使用String,如果用对象类型存储,那么会提示错误 can't cast to String!!!-->  
        <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.StringRedisSerializer" />  
	    </property>  
        
    </bean>   
    
    
</beans>

在web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	version="3.0">
	<display-name>Archetype Created Web Application</display-name>
	<!-- Spring和mybatis的配置文件 -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:spring-mybatis.xml,classpath:applicationContext.xml</param-value>
	</context-param>
	<!-- 编码过滤器 -->
	<filter>
		<filter-name>encodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<async-supported>true</async-supported>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	<!-- Spring监听器 -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<!-- 防止Spring内存溢出监听器 -->
	<listener>
		<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
	</listener>

	<!-- Spring MVC servlet -->
	<servlet>
		<servlet-name>SpringMVC</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:spring-mvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
		<async-supported>true</async-supported>
	</servlet>
	<servlet-mapping>
		<servlet-name>SpringMVC</servlet-name>
		<!-- 此处可以可以配置成*.do,对应struts的后缀习惯 -->
		<url-pattern>/</url-pattern>
	</servlet-mapping>
	<welcome-file-list>
		<welcome-file>/index.jsp</welcome-file>
	</welcome-file-list>

</web-app>

由于是入门的很简单的demo ,所以直接在 写Controller

package com.basessm.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;


@Controller
@RequestMapping("redis")
public class RedisController {
	@Autowired
	private StringRedisTemplate redisTemplate;// redis操作模板

	
	@RequestMapping("test1")
	public void  test1() {
		redisTemplate.opsForValue().set("fruit3","apple3");
		System.out.println("success1");
		
	}
	

		@RequestMapping("test2")
		public void test2() {
			redisTemplate.opsForValue().set("aliceWang","alice2");
			String a = redisTemplate.opsForValue().get("aliceWang");
			System.out.println("success2");
			System.out.println("a:" + a);
		}
}

这样就已经完成了一个 很基础,很简单的 demo了,在运行项目之前一定要记得先把redis-server 启动起来!


打赏
最近浏览
ypt520  LV7 2020年6月28日
AutoCrazy  LV7 2019年3月2日
cwx1234  LV11 2019年1月25日
yn2333  LV8 2019年1月15日
qweryufan  LV1 2018年11月22日
891353192  LV1 2018年10月8日
czh0510  LV12 2018年9月6日
admin_yt  LV1 2018年7月20日
十小时  LV12 2018年7月3日
hoffbug  LV19 2018年6月27日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友