idea ssm+redis(一)

idea 配置maven

    找到maven安装目录下conf目录下的settings.xml

   加入阿里云仓库

<mirror>

    <id>alimaven</id>

    <name>aliyun maven</name>

    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

    <mirrorOf>central</mirrorOf>       

</mirror>

<mirror>

    <id>jboss-public-repository-group</id>

    <mirrorOf>central</mirrorOf>

    <name>JBoss Public Repository Group</name>

    <url>http://repository.jboss.org/nexus/content/groups/public</url>

</mirror>

<mirror>

    <id>alimaven</id>

    <mirrorOf>central</mirrorOf>

    <name>aliyun maven</name>

    <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>

</mirror>

  File ------>settings

        

4174065-9de573ec848db09b.PNG

ps:Maven home directory 填入maven的安装目录,Use settings file 填入conf下的setting.xml 后面打对号,Local repository填入本地仓库的地址

下载maven helper插件(查看依赖关系,依赖冲突问题)


4174065-641a5c5cd129561a.PNG

新建web项目


4174065-eda0c374b2df9308.PNG
4174065-ca53baf53931f3d1.PNG
4174065-d6dc787691dc0c42.PNG

pom.xml

<properties> 

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>        

    <maven.compiler.source>1.7</maven.compiler.source> 

    <maven.compiler.target>1.7</maven.compiler.target> 

    <!-- spring版本号 --> 

    <spring.version>4.3.14.RELEASE</spring.version> 

    <!-- mybatis版本号 --> 

    <mybatis.version>3.4.1</mybatis.version> 

    <!-- mybatis/spring版本号 --> 

    <mybatis.spring.version>1.3.1</mybatis.spring.version> 

    <!-- log4j日志文件管理包版本 -->

     <slf4j.version>1.7.25</slf4j.version> 

    <log4j.version>1.2.17</log4j.version>

 </properties>

 <dependencies>

         <dependency>

                 <groupId>junit</groupId> 

                <artifactId>junit</artifactId>

                 <version>4.11</version> 

                <scope>test</scope>

         </dependency> 

            <!--<dependency>-->

         <!--<groupId>org.springframework</groupId>-->

         <!--<artifactId>spring-beans</artifactId>-->

         <!--<version>4.3.14.RELEASE</version>-->

         <!--</dependency>--> 

        <dependency> 

                <groupId>org.springframework</groupId> 

                <artifactId>spring-core</artifactId> 

                <version>${spring.version}</version>

           </dependency> 

    <dependency> 

                <groupId>org.springframework</groupId> 

                  <artifactId>spring-web</artifactId>

                 <version>${spring.version}</version>

     </dependency>

     <dependency> 

                <groupId>org.springframework</groupId> 

                <artifactId>spring-oxm</artifactId>

                 <version>${spring.version}</version>

     </dependency> 

    <dependency>

                 <groupId>org.springframework</groupId>

                 <artifactId>spring-tx</artifactId>

                 <version>${spring.version}</version> 

    </dependency> 

    <dependency> 

                <groupId>org.springframework</groupId> 

                <artifactId>spring-jdbc</artifactId> 

                <version>${spring.version}</version> 

        </dependency>

     <dependency>

                 <groupId>org.springframework</groupId> 

                <artifactId>spring-webmvc</artifactId> 

                <version>${spring.version}</version> 

        </dependency> 

        <dependency> 

                    <groupId>org.springframework</groupId>

                     <artifactId>spring-aop</artifactId> 

                    <version>${spring.version}</version>

          </dependency>

          <dependency> 

                        <groupId>org.springframework</groupId>

                         <artifactId>spring-context-support</artifactId>

                         <version>${spring.version}</version>

             </dependency> 

            <dependency> 

                    <groupId>org.springframework</groupId>

                     <artifactId>spring-test</artifactId>

                     <version>${spring.version}</version> 

                </dependency>

         <!-- springframe end -->

         <!-- mybatis核心包 --> 

        <dependency> 

                <groupId>org.mybatis</groupId>

                 <artifactId>mybatis</artifactId>

                 <version>${mybatis.version}</version>

         </dependency>

         <!-- mybatis/spring包 --> 

        <dependency>

                 <groupId>org.mybatis</groupId>

                 <artifactId>mybatis-spring</artifactId> 

                <version>${mybatis.spring.version}</version>

         </dependency> 

        <!--Redis-->

         <dependency>

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

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

                      <version>1.8.10.RELEASE</version> 

        </dependency> 

         <dependency> 

                        <groupId>redis.clients</groupId> 

                           <artifactId>jedis</artifactId>

                         <version>2.9.0</version>

             </dependency>

     <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-pool2 -->

             <dependency> 

                    <groupId>org.apache.commons</groupId>

                     <artifactId>commons-pool2</artifactId> 

                        <version>2.4.2</version> 

                 </dependency> 

               <!--<dependency>-->

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

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

<!--<version>1.3.0.RELEASE</version>--> 

<!--</dependency>-->

 <!-- mysql驱动包 --> 

                <dependency>

                                 <groupId>mysql</groupId> 

                                <artifactId>mysql-connector-java</artifactId> 

                                <version>5.1.29</version>

                  </dependency>

             <!-- jsp 标签库-->

                 <!-- jstl -->

                     <dependency> 

                                <groupId>javax.servlet</groupId>

                                 <artifactId>jstl</artifactId>

                                   <version>1.2</version>

                     </dependency>

                      <dependency> 

                                    <groupId>javax.servlet.jsp</groupId> 

                                    <artifactId>jsp-api</artifactId>

                                     <version>2.2.1-b03</version>

                                      <scope>provided</scope> 

                        </dependency> 

                <!--数据库连接池--> 

            <dependency>

                             <groupId>com.alibaba</groupId>

                                <artifactId>druid</artifactId> 

                                    <version>1.1.10</version> 

                </dependency>

         <!-- 日志文件管理包 --> 

                    <dependency>

                                         <groupId>log4j</groupId> 

                                            <artifactId>log4j</artifactId>

                                             <version>${log4j.version}</version> 

                     </dependency>

                 <dependency>

                                     <groupId>org.slf4j</groupId>

                                     <artifactId>slf4j-api</artifactId>

                                     <version>${slf4j.version}</version> 

                    </dependency>

                 <dependency> 

                                    <groupId>org.slf4j</groupId> 

                                      <artifactId>slf4j-log4j12</artifactId>

                                         <version>${slf4j.version}</version>

                      </dependency> 

                <!-- 上传组件包 --> 

                        <dependency>

                                     <groupId>commons-fileupload</groupId>

                                     <artifactId>commons-fileupload</artifactId>

                                         <version>1.3.1</version> 

                        </dependency>

                         <dependency>

                                     <groupId>commons-io</groupId>

                                     <artifactId>commons-io</artifactId>

                                         < version>2.2</version> 

                                </dependency>

                                 <dependency>

                                             <groupId>commons-codec</groupId>

                                             <artifactId>commons-codec</artifactId>

                                             <version>1.9</version>

                                     </dependency>

                 <dependency> 

                                        <groupId>javax.servlet</groupId> 

                                        <artifactId>servlet-api</artifactId> 

                                         <version>2.5</version>

                 </dependency> 

<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->

                 <dependency>

                             <groupId>javax.servlet</groupId>

                             <artifactId>javax.servlet-api</artifactId> 

                                <version>4.0.1</version> 

                                <scope>provided</scope> 

                </dependency> 

<!-- https://mvnrepository.com/artifact/javax.servlet/jstl --> 

                <!-- jsp 标签库--> 

                    <dependency> 

                                            <groupId>javax.servlet</groupId>

                                             <artifactId>jstl</artifactId> 

                                                <version>1.2</version>

                       </dependency>

                    <!--json--> 

                        <dependency>

                                             <groupId>com.alibaba</groupId> 

                                        <artifactId>fastjson</artifactId> 

                                    <version>1.2.41</version>

                         </dependency>

applicationContext.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:beans="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:p="http://www.springframework.org/schema/p" xmlns:cache="http://www.springframework.org/schema/cache" 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/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd"> 

<!-- ①:对com.springmvc包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 --> <context:component-scan base-package="*******"/> 

<mvc:annotation-driven >

         <mvc:message-converters register-defaults="false"> 

<!-- 配置Spring的转换器 --> 

                    <bean class="org.springframework.http.converter.StringHttpMessageConverter"/>

                     <bean class="org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter"/>

                     <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>

                     <bean class="org.springframework.http.converter.BufferedImageHttpMessageConverter"/> 

                <!-- 配置fastjson中实现HttpMessageConverter接口的转换器 -->

             <!-- FastJsonHttpMessageConverter是fastjson中实现了HttpMessageConverter接口的转换器 --> 

                    <bean id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> 

<!-- 加入支持的媒体类型:返回contentType --> 

                                    <property name="supportedMediaTypes">

                                 <list>

                                         <!-- 这里顺序不能写反,一定要先写text/html,否则IE下会出现下载提示 --> 

                                            <value>text/html;charset=UTF-8</value>

                                                     <value>application/json;charset=UTF-8</value> 

                                    </list> 

                                </property> 

                        </bean>

         </mvc:message-converters> 

</mvc:annotation-driven> 

<!-- 静态资源访问 -->

 <!--如果webapp下你新建了文件夹,想访问里面的静态资源,那么就要在这配置一下--> 

<!--<mvc:resources location="/images/" mapping="/images/**"/>--> 

<!--<mvc:resources location="/css/" mapping="/css/**"/>--> 

<!--<mvc:resources location="/styles/" mapping="/styles/**"/>--> 

<!--<mvc:resources location="/js/" mapping="/js/**"/>--> 

<!-- 配置视图解析器,把控制器的逻辑视频映射为真正的视图 --> 

<!-- /WEB-INF/jsp/start.jsp -->

 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

             <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> 

            <property name="prefix" value="/WEB-INF/views/" /> 

            <property name="suffix" value=".jsp" /> 

</bean>

 <!-- 配置dbcp数据库连接池 --> 

<!--<context:property-placeholder location="classpath:jdbc.properties" ignore-unresolvable="true"/>-->

 <!--数据库配置 --> 

<bean id = "propertyConfigurer" class = "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 

        <property name="locations">

                     <list>

                                 <value>classpath:jdbc.properties</value>

                                 <value>classpath:redis.properties</value> 

                        </list>

            </property>

 <!--<property name="ignoreUnresolvablePlaceholders" value="true" />--> 

</bean> 

<!-- 阿里 druid数据库连接池 -->

 <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> 

<!-- 数据库基本信息配置 -->

                 <property name="url" value="${url}" /> 

                <property name="username" value="${username}" />

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

                    <property name="driverClassName" value="${driverClassName}" />

                     <property name="filters" value="${filters}" /> 

                    <!-- 最大并发连接数 --> 

                        <property name="maxActive" value="${maxActive}" />

                 <!-- 初始化连接数量 --> 

                        <property name="initialSize" value="${initialSize}" /> 

                    <!-- 配置获取连接等待超时的时间 --> 

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

                      <!-- 最小空闲连接数 -->

                         <property name="minIdle" value="${minIdle}" />

 <!-- 配置间隔多久才进行一次检测,检测需关闭的空闲连接,单位是毫秒 --> 

                                <property name="timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}" /> 

            <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->

             <property name="minEvictableIdleTimeMillis" value="${minEvictableIdleTimeMillis}" /> 

                    <property name="validationQuery" value="${validationQuery}" /> 

                    <property name="testWhileIdle" value="${testWhileIdle}" /> 

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

                     <property name="testOnReturn" value="${testOnReturn}" />

                     <property name="maxOpenPreparedStatements" value="${maxOpenPreparedStatements}" />

                     <!-- 打开removeAbandoned功能 --> 

                    <property name="removeAbandoned" value="${removeAbandoned}" />

 <!-- 1800秒,也就是30分钟 --> 

                    <property name="removeAbandonedTimeout" value="${removeAbandonedTimeout}" />

                     <!-- 关闭abanded连接时输出错误日志 --> 

                    <property name="logAbandoned" value="${logAbandoned}" />

 </bean> 

<!-- 配置事务管理器 --> 

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 

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

</bean>

<!--使用注解定义事务-->          

  <tx:annotation-driven transaction-manager="transactionManager"/> 

<!-- 拦截器 --> 

<mvc:interceptors> 

<!-- 国际化操作拦截器 如果采用基于(请求/Session/Cookie)则必需配置 --> 

                <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" /> </mvc:interceptors>

 <!-- 定义无Controller的path<->view直接映射 --> 

<!--<mvc:view-controller path="/" view-name="redirect:/" />--> 

<!-- 配置会话工厂SqlSessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

 <!-- 数据源 -->

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

                         <property name="mapperLocations" value="classpath:*Mapper.xml"/> 

                        <property name="configLocation" value="classpath:mybatisConfig.xml"/> 

                            <!--<property name="typeAliasesPackage" value="******" />--> 

</bean> 

<!-- 在spring容器中配置mapper的扫描器产生的动态代理对象在spring的容器中自动注册,bean的id就是mapper类名(首字母小写)--> 

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

 <!-- 指定扫描包的路径,就是mapper接口的路径,多个包中间以 半角逗号隔开 --> 

                    <property name="basePackage" value="******"/> 

<!-- 配置sqlSessionFactoryBeanName -->

                 <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> 

                <property name="annotationClass" value="org.springframework.stereotype.Repository"/> 

</bean>

 <!--Redis-->

 <!--<context:property-placeholder location="classpath:redis.properties" ignore-unresolvable="true"/>-->

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

                         <!-- 最大空闲数 --> 

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

                <!-- 最大空连接数 -->

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

                        <!-- 最大等待时间 --> 

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

                                <!-- 连接超时时是否阻塞,false时报异常,ture阻塞直到超时, 默认true --> 

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

         <!-- 返回连接时,检测连接是否成功 -->

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

 </bean> 

<!-- Spring-redis连接池管理工厂 --> 

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

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

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

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

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

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

<!-- p:hostName="${redis.host}" p:port="${redis.port}" p:password="${redis.pass}" p:timeout="${redis.timeout}" p:poolConfig-ref="poolConfig" p:usePool="true"-->

 </bean> 

<!-- redis template definition -->

 <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"> <property name="connectionFactory" ref="jedisConnectionFactory"/> 

                <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>

                     <!--开启事务 --> 

                            <property name="enableTransactionSupport" value="false"> 

                        </property>

 </bean>

 <!--使用注解-->

 <cache:annotation-driven cache-manager="redisCacheManager"/> 

<!--定义缓存管理器--> 

     <bean id="redisCacheManager" class="org.springframework.data.redis.cache.RedisCacheManager">

             <constructor-arg index="0" ref="redisTemplate"/> 

                    <!--超时时间--> 

            <property name="defaultExpiration" value="600"/> 

                    <property name="cacheNames"> 

                <list> 

                    <value>redisManager</value> 

                    </list> 

            </property>

             </bean>

</beans>

ps不喜勿喷

猜你喜欢

转载自blog.csdn.net/weixin_33854644/article/details/87146448