springmvc+mybatis+spring+redis
生活随笔
收集整理的這篇文章主要介紹了
springmvc+mybatis+spring+redis
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
只作參考,以防忘記使用!
?
mybatis的配置文件:
?
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 設(shè)置全局配置 --><settings><!-- 使用主鍵自曾策略 --><setting name="useGeneratedKeys" value="true" /><!-- select name as title from user 用于識別別名, --><setting name="useColumnLabel" value="true" /><!-- 開啟駝峰命名轉(zhuǎn)換,如:table中(create_time)->entity(createTime)這樣在sql語句中就不需要使用as來顯式的去定義別名 --><setting name="mapUnderscoreToCamelCase" value="true" /></settings><!-- 配置分頁插件,一般在使用了mybatis的逆向工程后會使用 --><plugins><plugin interceptor="com.github.pagehelper.PageHelper"><!-- 設(shè)置數(shù)據(jù)庫類型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六種數(shù)據(jù)庫 --><property name="dialect" value="mysql" /></plugin></plugins></configuration>?
jdbc.properties用于配置數(shù)據(jù)庫信息
jdbc.driverClassName=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC jdbc.username=root jdbc.password=rootspring配置文件
?
springContext-dao.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:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsd"><context:property-placeholder location="classpath:resource/*.properties" /><!-- 數(shù)據(jù)源配置, 使用 Druid 數(shù)據(jù)庫連接池 --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"init-method="init" destroy-method="close"><property name="driverClassName" value="${jdbc.driverClassName}" /><!-- 基本屬性 url、user、password --><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /><!-- 配置初始化大小、最小、最大 --><property name="initialSize" value="1" /><property name="minIdle" value="1" /><property name="maxActive" value="5" /><!-- 配置獲取連接等待超時的時間 --><property name="maxWait" value="10000" /><!-- 配置間隔多久才進(jìn)行一次檢測,檢測需要關(guān)閉的空閑連接,單位是毫秒 <property name="timeBetweenEvictionRunsMillis" value="10000" />配置一個連接在池中最小生存的時間,單位是毫秒<property name="minEvictableIdleTimeMillis" value="300000" /><property name="validationQuery" value="SELECT 'x'" /><property name="testWhileIdle" value="true" /><property name="testOnBorrow" value="false" /><property name="testOnReturn" value="false" />打開PSCache,并且指定每個連接上PSCache的大小(Oracle使用) <property name="poolPreparedStatements" value="true" /> <property name="maxPoolPreparedStatementPerConnectionSize" value="20" />配置監(jiān)控統(tǒng)計攔截的filters<property name="filters" value="stat" /> --></bean><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"></property><property name="configLocation" value="classpath:mybatis\mybatis-config.xml"></property><!-- 定義別名,如果使用了mybatis的逆向工程,無需這個 --><!-- <property name="typeAliasesPackage" value="com.taotao.pojo"></property> --><!-- <property name="mapperLocations" value="classpath:mapper/*.xml"></property> --><!-- 配置映射文件的位置,如果配置文件與mapper接口在同一個位置,可以不寫 --><!-- <property name="mapperLocations"><array><value></value><value></value></array></property> --></bean><!-- 將mybatis實(shí)現(xiàn)的接口注入到spring容器中 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property><property name="basePackage" value="com.taotao.mapper"></property></bean><!-- <bean id="redisDao" class="youth.hong.dao.cache.RedisDao"><constructor-arg index="0" value="localhost"></constructor-arg><constructor-arg index="1" value="6379"></constructor-arg></bean> --></beans>?
springContext-service.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:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsd"><!-- 掃描這個包下以及子包的內(nèi)容 --><context:component-scan base-package="com.test.service"></context:component-scan><!-- 注解配置事務(wù)開始 --><!-- <tx:annotation-driven transaction-manager="txManager"/>a PlatformTransactionManager is still required<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">(this dependency is defined somewhere else)<property name="dataSource" ref="dataSource"/></bean> --><!-- 注解配置事務(wù)結(jié)束 --> </beans>springContext-trascation.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:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsd"><aop:config><aop:advisor advice-ref="txAdvice"pointcut="execution(* com.test.service.*.*(..))" /></aop:config><tx:advice id="txAdvice" transaction-manager="txManager"><tx:attributes><!-- 傳播行為REQUIRED時,有實(shí)物就是用但錢事務(wù),沒有就自動創(chuàng)建一個新的事務(wù) --><tx:method name="save*" propagation="REQUIRED" /><tx:method name="insert*" propagation="REQUIRED" /><tx:method name="add*" propagation="REQUIRED" /><tx:method name="create*" propagation="REQUIRED" /><tx:method name="delete*" propagation="REQUIRED" /><tx:method name="update*" propagation="REQUIRED" /><!-- SUPPORTS有事務(wù)就支持事務(wù),沒有就沒有 --><tx:method name="find*" propagation="SUPPORTS" read-only="true" /><tx:method name="select*" propagation="SUPPORTS" read-only="true" /><tx:method name="get*" propagation="SUPPORTS" read-only="true" /></tx:attributes></tx:advice><bean id="txManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /></bean></beans>springMVC-servlet.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:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsd"><context:component-scan base-package="com.test.controller"></context:component-scan><!-- 開啟mvc注解,可使用@DateTimeFormat,@NumberFormat --><mvc:annotation-driven></mvc:annotation-driven><!-- 告知靜態(tài)文件不要攔截,直接訪問,這種方式下面那種要好在可以訪問web-info下的資源 --><mvc:resources location="/WEB-INF/css/" mapping="/css/**"></mvc:resources><mvc:resources location="/WEB-INF/js/" mapping="/js/**"></mvc:resources><mvc:resources location="/WEB-INF/images/" mapping="/images/**"></mvc:resources><!-- 配置默認(rèn)servlet靜態(tài)資源訪問 --><!-- <mvc:default-servlet-handler/> --><bean id="internalResourceViewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass"value="org.springframework.web.servlet.view.JstlView"></property><property name="prefix" value="/WEB-INF/jsp/"></property><property name="suffix" value=".jsp"></property></bean><!-- 定義文件上傳解析器 --><bean id="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><!-- 設(shè)定默認(rèn)編碼 --><property name="defaultEncoding" value="UTF-8"></property><!-- 設(shè)定文件上傳的最大值5MB,5*1024*1024 --><property name="maxUploadSize" value="5242880"></property></bean> </beans>redis.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:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsd"><!-- 連接池配置 --><bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"><!-- 最大連接數(shù) --><property name="maxTotal" value="30" /><!-- 最大空閑連接數(shù) --><property name="maxIdle" value="10" /><!-- 每次釋放連接的最大數(shù)目 --><property name="numTestsPerEvictionRun" value="1024" /><!-- 釋放連接的掃描間隔(毫秒) --><property name="timeBetweenEvictionRunsMillis" value="30000" /><!-- 連接最小空閑時間 --><property name="minEvictableIdleTimeMillis" value="1800000" /><!-- 連接空閑多久后釋放, 當(dāng)空閑時間>該值 且 空閑連接>最大空閑連接數(shù) 時直接釋放 --><property name="softMinEvictableIdleTimeMillis" value="10000" /><!-- 獲取連接時的最大等待毫秒數(shù),小于零:阻塞不確定的時間,默認(rèn)-1 --><property name="maxWaitMillis" value="1500" /><!-- 在獲取連接的時候檢查有效性, 默認(rèn)false --><property name="testOnBorrow" value="true" /><!-- 在空閑時檢查有效性, 默認(rèn)false --><property name="testWhileIdle" value="true" /><!-- 連接耗盡時是否阻塞, false報異常,ture阻塞直到超時, 默認(rèn)true --><property name="blockWhenExhausted" value="false" /></bean><!-- jedis客戶端單機(jī)版 --><!-- <bean id="redisClient" class="redis.clients.jedis.JedisPool"><constructor-arg name="host" value="192.168.209.129"></constructor-arg><constructor-arg name="port" value="6379"></constructor-arg><constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg></bean> --><!-- jedis集群版配置 --><bean id="redisClient" class="redis.clients.jedis.JedisCluster"><constructor-arg name="nodes"><set><bean class="redis.clients.jedis.HostAndPort"><constructor-arg name="host" value="192.168.209.129"></constructor-arg><constructor-arg name="port" value="7001"></constructor-arg></bean><bean class="redis.clients.jedis.HostAndPort"><constructor-arg name="host" value="192.168.209.129"></constructor-arg><constructor-arg name="port" value="7002"></constructor-arg></bean><bean class="redis.clients.jedis.HostAndPort"><constructor-arg name="host" value="192.168.209.129"></constructor-arg><constructor-arg name="port" value="7003"></constructor-arg></bean><bean class="redis.clients.jedis.HostAndPort"><constructor-arg name="host" value="192.168.209.129"></constructor-arg><constructor-arg name="port" value="7004"></constructor-arg></bean><bean class="redis.clients.jedis.HostAndPort"><constructor-arg name="host" value="192.168.209.129"></constructor-arg><constructor-arg name="port" value="7005"></constructor-arg></bean><bean class="redis.clients.jedis.HostAndPort"><constructor-arg name="host" value="192.168.209.129"></constructor-arg><constructor-arg name="port" value="7006"></constructor-arg></bean></set></constructor-arg><constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg></bean></beans>?
?
?
?
web.xml
<?xml version="1.0" encoding="utf-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"version="3.1" metadata-complete="true"><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/applicationContext-*.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><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/springMVC-servlet.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springMVC</servlet-name><url-pattern>/</url-pattern></servlet-mapping><filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>maven父工程pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.taotao</groupId><artifactId>taotao-parent</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><!-- 集中定義依賴版本號 --><properties><junit.version>4.9</junit.version><spring.version>4.2.6.RELEASE</spring.version><mybatis.version>3.4.0</mybatis.version><mybatis.spring.version>1.3.0</mybatis.spring.version><mybatis.paginator.version>1.2.15</mybatis.paginator.version><mysql.version>6.0.2</mysql.version><slf4j.version>1.7.20</slf4j.version><jackson.version>2.8.0</jackson.version><druid.version>1.0.23</druid.version><httpclient.version>4.5.1</httpclient.version><jstl.version>1.2</jstl.version><servlet-api.version>3.1.0</servlet-api.version><joda-time.version>2.9.4</joda-time.version><commons-lang3.version>3.3.2</commons-lang3.version><commons-io.version>2.4</commons-io.version><commons-net.version>3.3</commons-net.version><pagehelper.version>4.1.5</pagehelper.version><jsqlparser.version>0.9.5</jsqlparser.version><commons-fileupload.version>1.3.1</commons-fileupload.version><jedis.version>2.8.0</jedis.version><solrj.version>6.1.0</solrj.version></properties><dependencyManagement><dependencies><!-- 時間操作組件 --><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>${joda-time.version}</version></dependency><!-- Apache工具組件 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>${commons-lang3.version}</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>${commons-io.version}</version></dependency><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>${commons-net.version}</version></dependency><!-- Jackson Json處理工具包 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>${jackson.version}</version></dependency><!-- httpclient --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>${httpclient.version}</version></dependency><!-- 單元測試 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junit.version}</version><!-- <scope>test</scope> --></dependency><!-- 日志處理 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4j.version}</version></dependency><!-- Mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>${mybatis.spring.version}</version></dependency><dependency><groupId>com.github.miemiedev</groupId><artifactId>mybatis-paginator</artifactId><version>${mybatis.paginator.version}</version></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>${pagehelper.version}</version></dependency><!-- MySql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><!-- 連接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>${druid.version}</version></dependency><!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</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-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><scope>test</scope><version>${spring.version}</version></dependency><!-- JSP相關(guān) --><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>${jstl.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>${servlet-api.version}</version><scope>provided</scope></dependency><!-- 文件上傳組件 --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>${commons-fileupload.version}</version></dependency><!-- Redis客戶端 --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>${jedis.version}</version></dependency><!-- solr客戶端 --><dependency><groupId>org.apache.solr</groupId><artifactId>solr-solrj</artifactId><version>${solrj.version}</version></dependency></dependencies></dependencyManagement><build><finalName>${project.artifactId}</finalName><plugins><!-- 資源文件拷貝插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>3.0.1</version><configuration><encoding>UTF-8</encoding></configuration></plugin><!-- java編譯插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.5.1</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin></plugins><pluginManagement><plugins><!-- 配置Tomcat插件 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version></plugin></plugins></pluginManagement></build> </project>?log4j.properties
log4j.rootLogger=DEBUG,A1 log4j.logger.org.mybatis = DEBUG log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n?
轉(zhuǎn)載于:https://www.cnblogs.com/honger/p/5847562.html
總結(jié)
以上是生活随笔為你收集整理的springmvc+mybatis+spring+redis的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DispatcherServlet默认配
- 下一篇: 第一周进度记录