• 记Spring-SpringMVC-Mybatis框架搭建


    1.spring相关架包的下载

    云盘下载地址:https://pan.baidu.com/s/1o8sk8Ee

    官网下载地址:http://repo.springsource.org/libs-release-local/org/springframework/

    2.mybatis-config.xml文件配置

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
      PUBLIC "-//mybatis.org//DTD Config 3.2//EN"
      "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <!-- 配置全局属性 -->
        <settings>
            <!-- 使用jdbc的getGeneratedKeys获取数据库自增主键值 -->
            <setting name="useGeneratedKeys" value="true" />
    
            <!-- 使用列别名替换列名 默认:true -->
            <setting name="useColumnLabel" value="true" />
    
            <!-- 开启驼峰命名转换:Table{create_time} -> Entity{createTime} -->
            <setting name="mapUnderscoreToCamelCase" value="true" />
            
            <!-- <setting name="logImpl" value="STDOUT_LOGGING" /> -->
            <!-- <setting name="logImpl" value="LOG4J"/>  -->
        </settings>
    </configuration>

    3.spring-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"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.2.xsd">
        <!-- 配置整合mybatis过程 -->
        <!-- 1.配置数据库相关参数properties的属性:${url} -->
        <context:property-placeholder location="classpath:jdbc.properties" />
    
        <!-- 2.数据库连接池 -->
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <!-- 配置连接池属性 -->
            <property name="driverClass" value="${jdbc.driver}" />
            <property name="jdbcUrl" value="${jdbc.url}" />
            <property name="user" value="${jdbc.username}" />
            <property name="password" value="${jdbc.password}" />
    
            <!-- c3p0连接池的私有属性 -->
            <property name="maxPoolSize" value="30" />
            <property name="minPoolSize" value="10" />
            <!-- 关闭连接后不自动commit -->
            <property name="autoCommitOnClose" value="false" />
            <!-- 获取连接超时时间 -->
            <property name="checkoutTimeout" value="10000" />
            <!-- 当获取连接失败重试次数 -->
            <property name="acquireRetryAttempts" value="2" />
        </bean>
    
        <!-- 3.配置SqlSessionFactory对象 -->
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <!-- 注入数据库连接池 -->
            <property name="dataSource" ref="dataSource" />
            <!-- 配置MyBaties全局配置文件:mybatis-config.xml -->
            <property name="configLocation" value="classpath:mybatis-config.xml" />
            <!-- 扫描entity包 使用别名 -->
            <property name="typeAliasesPackage" value="com.soecode.fq.entity" />
            <!-- 扫描sql配置文件:mapper需要的xml文件 -->
            <property name="mapperLocations" value="classpath:com/soecode/fq/mapper/*.xml" />
        </bean>
    
        <!-- 4.配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 -->
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <!-- 注入sqlSessionFactory -->
            <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
            <!-- 给出需要扫描Dao接口包 -->
            <property name="basePackage" value="com.soecode.fq.dao" />
        </bean>
    </beans>

    4.spring-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:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.2.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
        
        <context:annotation-config />
        <!-- 扫描service包下所有使用注解的类型 -->
        <context:component-scan base-package="com.soecode.fq.service" />
        <context:component-scan base-package="com.soecode.fq.params.checkUtils" />
        <context:component-scan base-package="com.soecode.fq.constant" />
        <context:component-scan base-package="com.soecode.fq.util" />
        
        <!-- 配置事务管理器 -->
        <bean id="transactionManager"
            class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <!-- 注入数据库连接池 -->
            <property name="dataSource" ref="dataSource" />
        </bean>
    
        <!-- 配置基于注解的声明式事务 -->
        <tx:annotation-driven transaction-manager="transactionManager" />
    </beans>

    5.spring-web.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:mvc="http://www.springframework.org/schema/mvc" 
        xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.2.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
        <!-- 配置SpringMVC -->
        <!-- 1.开启SpringMVC注解模式 -->
        <!-- 简化配置: 
            (1)自动注册DefaultAnootationHandlerMapping,AnotationMethodHandlerAdapter 
            (2)提供一些列:数据绑定,数字和日期的format @NumberFormat, @DateTimeFormat, xml,json默认读写支持 
        -->
        <mvc:annotation-driven />
        <mvc:resources location="/" mapping="/**/*.html"/>  
        <mvc:resources location="/" mapping="/**/*.js"/>  
        <mvc:resources location="/" mapping="/**/*.css"/>  
        <mvc:resources location="/" mapping="/**/*.png"/>  
        <mvc:resources location="/" mapping="/**/*.gif"/>  
        <!-- 2.静态资源默认servlet配置
            (1)加入对静态资源的处理:js,gif,png
            (2)允许使用"/"做整体映射
         -->
         <mvc:default-servlet-handler/>
         
         <!-- 3.配置jsp 显示ViewResolver -->
         <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
             <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
             <!-- <property name="prefix" value="/WEB-INF/jsp/" />   -->
             <property name="prefix" value="/" />
             <property name="suffix" value=".jsp" />
         </bean>
         
         <!-- 4.扫描web相关的bean -->
         <context:component-scan base-package="com.soecode.fq.web" />
    </beans>

    6.jdbc.properties文件简单配置

    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://127.0.0.1:3306/apiauto
    jdbc.username=root
    jdbc.password=root

    7.log4j.properties文件配置

    ### Log4j配置 ###
    ### 与Spring结合需要在web.xml中指定此文件位置,并添加监听器 ###
    #定义log4j的输出级别和输出目的地(目的地可以自定义名称,和后面的对应)
    #[ level ] , appenderName1 , appenderName2
    log4j.rootLogger=DEBUG,console,file
    
    #-----------------------------------#
    #1 定义日志输出目的地为控制台
    log4j.appender.console = org.apache.log4j.ConsoleAppender
    log4j.appender.console.Target = System.out
    #log4j.appender.console.Threshold=DEBUG
    ####可以灵活地指定日志输出格式,下面一行是指定具体的格式 ###
    #%c: 输出日志信息所属的类目,通常就是所在类的全名
    #%m: 输出代码中指定的消息,产生的日志具体信息 
    #%n: 输出一个回车换行符,Windows平台为"/r/n",Unix平台为"/n"输出日志信息换行
    log4j.appender.console.layout = org.apache.log4j.PatternLayout
    log4j.appender.console.layout.ConversionPattern=[%d-%c-%l]-%m%n
    
    #-----------------------------------#
    #2 文件大小到达指定尺寸的时候产生一个新的文件 
    log4j.appender.file = org.apache.log4j.RollingFileAppender
    #日志文件输出目录
    log4j.appender.file.File=D:/log/application.txt
    #定义文件最大大小
    log4j.appender.file.MaxFileSize=10mb
    ###输出日志信息###
    #最低级别
    log4j.appender.file.Threshold=INFO
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=[%p][%d][%c%l]%m%n
    
    #-----------------------------------#
    #3 druid
    #log4j.logger.druid.sql=INFO
    #log4j.logger.druid.sql.DataSource=info
    #log4j.logger.druid.sql.Connection=info
    #log4j.logger.druid.sql.Statement=info
    #log4j.logger.druid.sql.ResultSet=info
     
    #4 mybatis 显示SQL语句部分
    #log4j.logger.org.mybatis=DEBUG
    #log4j.logger.cn.tibet.cas.dao=DEBUG
    #log4j.logger.org.mybatis.common.jdbc.SimpleDataSource=DEBUG#
    #log4j.logger.org.mybatis.common.jdbc.ScriptRunner=DEBUG#
    #log4j.logger.org.mybatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG#
    #log4j.logger.java.sql.Connection=DEBUG
    log4j.logger.java.sql=DEBUG
    log4j.logger.java.sql.Statement=DEBUG
    log4j.logger.java.sql.ResultSet=DEBUG
    log4j.logger.java.sql.PreparedStatement=DEBUG
    #过滤
    log4j.logger.org.springframework=FATAL
    log4j.logger.org.apache=FATAL
    log4j.logger.com.mchange.v2=FATAL
    log4j.logger.org.mybatis=FATAL

    8.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/javaee
                          http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
        version="3.1" metadata-complete="true">
        <!-- 如果是用mvn命令生成的xml,需要修改servlet版本为3.1 -->
        <!-- 配置DispatcherServlet -->
        <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>
        </filter>
        <filter-mapping>
            <filter-name>CharacterEncodingFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    
        <servlet>
            <servlet-name>spring-dispatcher</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <!-- 配置springMVC需要加载的配置文件 spring-dao.xml,spring-service.xml,spring-web.xml 
                Mybatis - > spring -> springmvc -->
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:spring-*.xml</param-value>
            </init-param>
        </servlet>
        <servlet-mapping>
            <servlet-name>spring-dispatcher</servlet-name>
            <!-- 默认匹配所有的请求 -->
            <url-pattern>/</url-pattern>
        </servlet-mapping>
        
        <context-param>
            <param-name>webAppRootKey</param-name>
            <param-value>com.soecode.fq.*</param-value>
        </context-param>
        <context-param>
            <param-name>log4jConfigLocation</param-name>
            <param-value>classpath:log4j.properties</param-value>
        </context-param>
        <context-param>
            <param-name>log4jRefreshInterval</param-name>
            <param-value>600000</param-value>
        </context-param>
        
        <!-- 定义LOG4J监听器 -->
        <listener>
           <listener-class>
            org.springframework.web.util.Log4jConfigListener
           </listener-class>
        </listener>
        
    </web-app>
  • 相关阅读:
    嵌套类型返回错误解决办法(如迭代器的设计)
    UITableView的多选删除模式
    UITableView的编辑模式
    指针和引用初理解
    strstr()函数实现
    一句话的单词倒置
    字符串过滤程
    strcpy函数
    二叉排序树(Binary Sort Tree)
    二叉树插入操作
  • 原文地址:https://www.cnblogs.com/fqfanqi/p/7348844.html
Copyright © 2020-2023  润新知