spring3.1.1 spring mvc 和mybatis3框架整合配置

来源:互联网 发布:淘宝店铺一年费用多少 编辑:程序博客网 时间:2024/05/17 22:02

1.主要需要的jar

<dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-core</artifactId>            <version>3.1.1.RELEASE</version></dependency><dependency>            <groupId>org.mybatis</groupId>            <artifactId>mybatis</artifactId>            <version>3.1.1</version> </dependency> <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <version>5.1.38</version></dependency><dependency>  <groupId>org.mybatis</groupId>  <artifactId>mybatis-spring</artifactId>  <version>1.1.1-SNAPSHOT</version></dependency><dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-webmvc</artifactId>            <version>${spring.version}</version></dependency>

2.配置spring(applicationContext.xml)
1.开始注解配置

<context:annotation-config />

2.扫包

<context:component-scan base-package="包名" />

3.配置定时器开关

<task:annotation-driven />

4.配置数据源

<bean id="dataSource"    class="org.springframework.jdbc.datasource.DriverManagerDataSource">        <property name="driverClassName">            <value>com.mysql.jdbc.Driver</value>        </property>        <property name="url">            <value>jdbc:mysql://**/**?useUnicode=true&amp;charaterEncoding=utf-8            </value>        </property>        <property name="username">            <value>root</value>        </property>        <property name="password">            <value>**</value>        </property>    </bean>

5.配置事务管理器

<bean id="transactionManager"    class="org.springframework.jdbc.datasource.DataSourceTransactionManager">        <property name="dataSource" ref="dataSource" />    </bean><aop:config>        <aop:advisor pointcut="execution(配置需要事务的包 advice-ref="txAdvice" />        <aop:advisor pointcut="execution(配置需要事务的包 advice-ref="txAdvice" />    </aop:config>    <tx:advice id="txAdvice" transaction-manager="transactionManager">        <tx:attributes>            <tx:method name="get*" read-only="true" />            <tx:method name="query*" read-only="true" />            <tx:method name="find*" read-only="true" />            <tx:method name="load*" read-only="true" />            <tx:method name="select*" read-only="true" />            <tx:method name="*" propagation="REQUIRED" rollback-for="Exception" />        </tx:attributes>    </tx:advice>

6.扫描mybatis sql

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">        <property name="mapperLocations">            <list>                <value>classpath:mapper xml文件的位置</value>            </list>        </property>    </bean>

7.扫描Mapper.java文件(dao接口包)

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"        autowire="byName">        <property name="basePackage" value="包名" />        <property name="sqlSessionFactory" ref="sqlSessionFactory" /></bean>

8.根据需要配置spring工具类

<bean id="springContextUtil" class="com.base.util.SpringContextUtil" />

9.配置spring mvc(spring-setvlet.xml)
1.开启注解

<mvc:annotation-driven />

2.配置要扫描的包

<context:component-scan base-package="**.controller" />

3.配置静态资源

<mvc:resources mapping="/css/**" location="/css/" /><mvc:resources mapping="/js/**" location="/js/" /><mvc:resources mapping="/images/**" location="/images/" />

4.启动mvc的注解功能,完成pojo和请求的映射

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> 

5.配置视图解析器,配置拦截的前缀和后缀

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>        <property name="prefix" value="/view/"/>        <property name="suffix" value=".jsp"/></bean>

6.配置拦截器

<mvc:interceptors>        // 用户区域(本地)        <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />        // 设置编码utf-8        <bean class="com.base.interceptor.UTF8Interceptor"></bean>        // 异常拦截器        <bean class="com.base.interceptor.ExceptionInterceptor" />    </mvc:interceptors>

7.配置log4j(附件)

### set log levels ###log4j.rootLogger = debug,error , stdout, log, index, D, I, W, E###  print log to console ###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern = %d %p [%c] - <%m>%n###  print log to console ###log4j.appender.error = org.apache.log4j.ConsoleAppenderlog4j.appender.error.Target = System.outlog4j.appender.error.layout = org.apache.log4j.PatternLayoutlog4j.appender.error.layout.ConversionPattern = %d %p [%c] - <%m>%n### create log to file ###log4j.appender.log = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.log.File = D\:\\Program Files (x86)\\myeclipse 2015\\Workspacesyqglht\\logs\\log.loglog4j.appender.log.Append = truelog4j.appender.log.layout = org.apache.log4j.PatternLayoutlog4j.appender.log.layout.ConversionPattern= %d %p [%c] - <%m>%n###  create all log ###log4j.appender.index = org.apache.log4j.RollingFileAppenderlog4j.appender.index.File = D\:\\Program Files (x86)\\myeclipse 2015\\Workspacesyqglht\\logs\\index.loglog4j.appender.index.MaxFileSize = 10240KBlog4j.appender.index.Encoding = UTF-8log4j.appender.index.layout = org.apache.log4j.PatternLayoutlog4j.appender.index.layout.ConversionPattern= %d %p [%c] - <%m>%nlog4j.appender.index.MaxBackupIndex = 10###  create log on lever debug ###log4j.appender.D = org.apache.log4j.RollingFileAppenderlog4j.appender.D.File = D\:\\Program Files (x86)\\myeclipse 2015\\Workspacesyqglht\\logs\\debug.loglog4j.appender.D.MaxFileSize = 10240KBlog4j.appender.D.Encoding = UTF-8log4j.appender.D.Threshold = DEBUGlog4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern= %d %p [%c] - <%m>%nlog4j.appender.D.MaxBackupIndex = 10###  create log on lever info ###log4j.appender.I = org.apache.log4j.RollingFileAppenderlog4j.appender.I.File =D\:\\Program Files (x86)\\myeclipse 2015\\Workspacesyqglht\\logs\\info.loglog4j.appender.I.MaxFileSize = 10240KBlog4j.appender.I.Encoding = UTF-8log4j.appender.I.Threshold = INFOlog4j.appender.I.layout = org.apache.log4j.PatternLayoutlog4j.appender.I.layout.ConversionPattern= %d %p [%c] - <%m>%nlog4j.appender.I.MaxBackupIndex = 10###  create log on lever warn ###log4j.appender.W = org.apache.log4j.RollingFileAppenderlog4j.appender.W.File = D\:\\Program Files (x86)\\myeclipse 2015\\Workspacesyqglht\\logs\\warn.loglog4j.appender.W.MaxFileSize = 10240KBlog4j.appender.W.Encoding = UTF-8log4j.appender.W.Threshold = WARNlog4j.appender.W.layout = org.apache.log4j.PatternLayoutlog4j.appender.W.layout.ConversionPattern= %d %p [%c] - <%m>%nlog4j.appender.W.MaxBackupIndex = 10###  create log on lever error ###log4j.appender.E = org.apache.log4j.RollingFileAppenderlog4j.appender.E.File = D\:\\Program Files (x86)\\myeclipse 2015\\Workspacesyqglht\\logs\\error.loglog4j.appender.E.MaxFileSize = 10240KBlog4j.appender.E.Encoding = UTF-8log4j.appender.E.Threshold = ERRORlog4j.appender.E.layout = org.apache.log4j.PatternLayoutlog4j.appender.E.layout.ConversionPattern= %d %p [%c] - <%m>%nlog4j.appender.E.MaxBackupIndex = 10# If programmed properly the most messages would be at DEBUG # and the least at FATAL.# Control logging for other open source packageslog4j.logger.net.sf.navigator=ERRORlog4j.logger.net.sf.acegisecurity=WARNlog4j.logger.net.sf.acegisecurity.intercept.event.LoggerListener=WARNlog4j.logger.org.apache.commons=ERRORlog4j.logger.org.apache.struts=WARNlog4j.logger.org.displaytag=ERRORlog4j.logger.org.springframework=WARNlog4j.logger.org.apache.velocity=WARN# SqlMap logging configuration...log4j.logger.com.ibatis=debuglog4j.logger.com.ibatis.db=debuglog4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debuglog4j.logger.com.ibatis.sqlmap.engine.cache.CacheModel=debuglog4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientImpl=debuglog4j.logger.com.ibatis.sqlmap.engine.builder.xml.SqlMapParser=debuglog4j.logger.com.ibatis.common.util.StopWatch=debuglog4j.logger.java.sql.Connection=debuglog4j.logger.java.sql.Statement=errorlog4j.logger.java.sql.PreparedStatement=debuglog4j.logger.java.sql.ResultSet=error

3.spring的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:task="http://www.springframework.org/schema/task" xmlns:mvc="http://www.springframework.org/schema/mvc"    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd        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/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd        http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"

4.spring mvc的配置文件头

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:context="http://www.springframework.org/schema/context"    xmlns:mvc="http://www.springframework.org/schema/mvc"    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd        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" default-autowire="byName">

5.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">    <context-param>            <param-name>contextConfigLocation</param-name>            <param-value>                classpath:spring-*.xml            </param-value>    </context-param>    <!-- Spring 监听器 -->    <listener>        <listener-class>            org.springframework.web.context.ContextLoaderListener        </listener-class>    </listener>    <!-- 解决跨域问题 -->    <filter>       <filter-name>cors</filter-name>       <filter-class>com.base.interceptor.CrossFilter</filter-class>    </filter>    <filter-mapping>        <filter-name>cors</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>    <!-- 字符编码过滤器-->    <filter>        <filter-name> encodingFilter</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>    </filter>    <filter-mapping>        <filter-name>encodingFilter</filter-name>        <url-pattern>*.do</url-pattern>    </filter-mapping>    <!-- Spring MVC Servlet -->    <servlet>        <servlet-name>Spring-Servlet</servlet-name>        <servlet-class> org.springframework.web.servlet.DispatcherServlet</servlet-class>        <init-param>            <param-name>contextConfigLocation</param-name>            <param-value>                classpath:spring-*.xml            </param-value>        </init-param>        <load-on-startup>1</load-on-startup>    </servlet>    <servlet-mapping>        <servlet-name>Spring-Servlet</servlet-name>        <url-pattern>*.do</url-pattern>    </servlet-mapping>    <servlet-mapping>        <servlet-name>Spring-Servlet</servlet-name>        <url-pattern>*.shtml</url-pattern>    </servlet-mapping>    <!-- 图片验证码配置开始 -->    <servlet>        <servlet-name>ImageServlet</servlet-name>        <servlet-class>com.jeecg.servlet.ImageServlet</servlet-class>        <init-param>            <param-name>width</param-name>            <param-value>65</param-value>        </init-param>        <init-param>            <param-name>height</param-name>            <param-value>23</param-value>        </init-param>        <init-param>            <param-name>codeCount</param-name>            <param-value>4</param-value>        </init-param>    </servlet>    <servlet-mapping>        <servlet-name>ImageServlet</servlet-name>        <url-pattern>/ImageServlet</url-pattern>    </servlet-mapping>    <!-- 图片验证码配置结束 -->  <welcome-file-list>    <welcome-file>view/login.jsp</welcome-file>  </welcome-file-list></web-app>

6.总的maven配置

<properties>        <!-- 4.2.5.RELEASE -->        <spring.version>3.1.1.RELEASE</spring.version>        <hibernate.version>5.1.0.Final</hibernate.version>    </properties>    <dependencies>        <!-- mybatis -->        <dependency>            <groupId>org.mybatis</groupId>            <artifactId>mybatis</artifactId>            <version>3.1.1</version>        </dependency>        <dependency>            <groupId>org.mybatis</groupId>            <artifactId>mybatis-spring</artifactId>            <version>1.1.1</version>        </dependency>        <dependency>            <groupId>org.mybatis.generator</groupId>            <artifactId>mybatis-generator-core</artifactId>            <version>1.3.1</version>        </dependency>        <dependency>            <groupId>org.apache.poi</groupId>            <artifactId>poi</artifactId>            <version>3.14</version>        </dependency>        <dependency>            <groupId>org.apache.poi</groupId>            <artifactId>poi-ooxml</artifactId>            <version>3.14</version>        </dependency>        <dependency>            <groupId>org.apache.commons</groupId>            <artifactId>commons-lang3</artifactId>            <version>3.1</version>        </dependency>        <!-- pageHelper分页依赖包 -->        <dependency>            <groupId>com.github.pagehelper</groupId>            <artifactId>pagehelper</artifactId>            <version>4.1.3</version>        </dependency>        <dependency>            <groupId>org.freemarker</groupId>            <artifactId>freemarker</artifactId>            <version>2.3.24-incubating</version>        </dependency>        <dependency>            <groupId>org.apache.commons</groupId>            <artifactId>commons-lang3</artifactId>            <version>3.1</version>        </dependency>        <!-- 缓存 -->        <dependency>            <groupId>org.ehcache</groupId>            <artifactId>ehcache</artifactId>            <version>3.0.1</version>        </dependency>        <dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-log4j12</artifactId>            <version>1.7.21</version>        </dependency>        <!-- hibernate -->        <dependency>            <groupId>org.hibernate</groupId>            <artifactId>hibernate-core</artifactId>            <version>${hibernate.version}</version>        </dependency>        <dependency>            <groupId>org.hibernate</groupId>            <artifactId>hibernate-ehcache</artifactId>            <version>${hibernate.version}</version>        </dependency>        <dependency>            <groupId>org.hibernate</groupId>            <artifactId>hibernate-jpamodelgen</artifactId>            <version>${hibernate.version}</version>        </dependency>        <dependency>            <groupId>org.hibernate.common</groupId>            <artifactId>hibernate-commons-annotations</artifactId>            <version>5.0.1.Final</version>        </dependency>        <dependency>            <groupId>c3p0</groupId>            <artifactId>c3p0</artifactId>            <version>0.9.1.2</version>        </dependency>        <!-- spring -->        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-core</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-expression</artifactId>            <version>4.2.5.RELEASE</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-orm</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-web</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-beans</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-context</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-context-support</artifactId>            <version>4.2.5.RELEASE</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-oxm</artifactId>            <version>4.2.5.RELEASE</version>        </dependency>        <dependency>            <groupId>org.aspectj</groupId>            <artifactId>aspectjweaver</artifactId>            <version>1.8.9</version>        </dependency>        <dependency>            <groupId>log4j</groupId>            <artifactId>log4j</artifactId>            <version>1.2.17</version>        </dependency>        <dependency>            <groupId>oracle</groupId>            <artifactId>ojdbc</artifactId>            <version>6</version>        </dependency>        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>javax.servlet-api</artifactId>            <version>3.1.0</version>            <scope>provided</scope>        </dependency>        <dependency>            <groupId>jstl</groupId>            <artifactId>jstl</artifactId>            <version>1.2</version>        </dependency>        <dependency>            <groupId>junit</groupId>            <artifactId>junit</artifactId>            <version>4.10</version>            <scope>test</scope>        </dependency>    </dependencies>
0 0