SSM的框架配置文件

SSM的相關配置文件


該配置是基於spring4.0的html

Spring框架

applicationContext.xml
Spring框架的核心配置文件java

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">
       
       <!-- 將TestDaoImpl託管給Spring,建立一個名爲myBean的DAO實例 -->
       <bean id="myBean" class="dao.TestDaoImpl"/>
       
       <!-- 將TestDIServiceImpl類託管給Spring,由Spring建立對象,建立一個id名的對象 -->
       <bean id="testDIService" class="service.TestDIServiceImpl">
       <!-- 調用TestDIServiceImpl -->
              <property name="testDao" ref="myBean"/>
       </bean>
</beans>

aspectJ框架的xml配置文件 applicationContext .xmlmysql

<?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:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop.xsd">
       
    <!-- 定義目標對象 -->
    <bean id="testDao" class="dynamic.jdk.TestDaoImpl"/>
    <!-- 定義切面 -->
       <bean id="myAspect" class="aspectj.xml.MyAspect"/>
    <!-- AOP配置 -->
    <aop:config>
       <!-- 配置切面 -->
       <aop:aspect ref="myAspect">
              <!-- 配置切入點 -->
              <aop:pointcut expression="execution(* dynamic.jdk.*.*(..))" id="myPointCut"/>
              <aop:before method="before" pointcut-ref="myPointCut"/>
              <aop:after-returning method="afterReturning" pointcut-ref="myPointCut"/>
              <aop:around method="around" pointcut-ref="myPointCut"/>
              <aop:after-throwing method="except" pointcut-ref="myPointCut"/>
              <aop:after method="after" pointcut-ref="myPointCut"/>
       </aop:aspect>
    </aop:config>
</beans>

Spring MVC框架

springmvc-servlet.xml
控制層配置文件git

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:mvc="http://www.springframework.org/schema/mvc"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc
                         http://www.springframework.org/schema/mvc/spring-mvc.xsd
                        http://www.springframework.org/schema/beans
                         http://www.springframework.org/schema/beans/spring-beans.xsd
                        http://www.springframework.org/schema/context
                         http://www.springframework.org/schema/context/spring-context.xsd">

       <bean name="/login" class="controller.LoginController"/>
   
       <bean name="/register" class="controller.RegisterController"/>
       <!--
       <context:component-scan base-package="com.example.controller"></context:component-scan>
    
    <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>text/plain;charset=UTF-8</value>
                        <value>text/html;charset=UTF-8</value>
                    </list>
                </property>
            </bean>
            <!--經過jackson將Responsebody註解返回的對象自動序列化成json對象-->
            <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>application/json;charset=UTF-8</value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>
    
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp"></property>
       -->
</beans>

轉發器DispatcherServlet中的web.xml
做爲底層支撐的Servlet版本至少要在3.1以上web

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns="http://xmlns.jcp.org/xml/ns/javaee"
       xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee  http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
       id="WebApp_ID" version="4.0">
       
       <display-name>SpringMVC</display-name>
       <servlet>
              <servlet-name>springmvc</servlet-name>
               <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
              <load-on-startup>1</load-on-startup>
       </servlet>
       <servlet-mapping>
              <servlet-name>springmvc</servlet-name>
              <url-pattern>/</url-pattern>
       </servlet-mapping>
</web-app>

MyBatis框架

UserMapper.xml
映射spring

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- namespace表示映射xml路徑 -->
<mapper namespace="com.mybatis.mapper.UserMapper">
       <!-- 根據uid查詢一個用戶信息 -->
       <select id="selectUserById" parameterType="Integer"
              resultType="com.mybatis.po.MyUser">
              select * from user where uid = #{uid}
       </select>
       <select id="selectAllUser" resultType="com.mybatis.po.MyUser">
              select * from user   
       </select>
       <!-- 插入新用戶 -->
       <insert id="addUser" parameterType="com.mybatis.po.MyUser">
              insert into user (uname,usex) values(#{uname},#{usex})
       </insert>
       <!-- 修改一個用戶 -->
       <update id="updateUser" parameterType="com.mybatis.po.MyUser">
              update user set uname = #{uname}, usex = #{usex} where uid = #{uid}
       </update>
       <!-- 刪除一個用戶 -->
       <delete id="deleteUser" parameterType="Integer">
              delete from user where uid = #{uid}
       </delete>
</mapper>

mybatis-config.xmlsql

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
       <environments default="development">
              <environment id="development">
                     <transactionManager type="JDBC" />
                     <dataSource type="POOLED">
                           <property name="driver" value="com.mysql.jdbc.Driver"  />
                           <property name="url"  value="jdbc:mysql://localhost:3306/springtest?characterEncoding=utf8" />
                           <property name="username" value="root" />
                           <property name="password" value="root" />
                     </dataSource>
              </environment>
       </environments>
       <!-- 控制全局的mappers文件 -->
       <mappers>
              <!-- UserMapper路徑 -->
              <mapper resource="com/mybatis/mapper/UserMapper.xml" />
       </mappers>
</configuration>

generatorConfig.xml數據庫

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration  1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <!-- 具體配置內容 -->
    <properties resource="datasource.properties" />
    <!-- 由驅動包半自動化生成代碼 -->
    <classPathEntry location="E:/MyProjects/mavenrepo/mysql-connector-java-5.1.38.jar"/>


    <context id="MysqlContext" targetRuntime="MyBatis3Simple"
             defaultModelType="flat">
        <property name="beginningDelimiter" value="`" />
        <property name="endingDelimiter" value="`" />
        <!-- 設置生成代碼爲utf-8 -->
        <property name="javaFileEncoding" value="UTF-8" />


        <!-- 生成 JavaBean 對象繼承 Serializable 類 -->
        <plugin  type="org.mybatis.generator.plugins.SerializablePlugin" />


        <!-- 增長mybatis通用mapper 插件 -->
        <!--
        <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
            <property name="mappers"  value="com.mmall.util.MyMapper" />
        </plugin>
        -->
        <!-- 去除全部註釋 -->
        <commentGenerator> <property name="suppressAllComments"  value="true"/> </commentGenerator>


        <!-- jdbc鏈接數據庫 -->
        <jdbcConnection driverClass="${db.driverClassName}"
                        connectionURL="${db.url}"
                        userId="${db.username}" password="${db.password}">
        </jdbcConnection>


        <!-- 生成模型(MyBatis實體類)的包名和位置(相對/絕對位置,推薦相對位置) -->
        <javaModelGenerator
                targetPackage="com.mmall.pojo"
                targetProject="./src/main/java">
            <property name="enableSubPackage" value="false" />
            <!-- 是否生成構造方法 -->
            <property name="constructorBased" value="true" />
            <property name="trimStrings" value="true" />
            <!-- 是否設置生成的Model對象不可改變,即不生成setter方法 -->
            <property name="immutable" value="false" />
        </javaModelGenerator>
        <!-- 生成映射文件(MyBatis的SQL語句的xml文件)包名和位置 -->
        <sqlMapGenerator targetPackage="mappers"
                         targetProject="./src/main/resources" >
        <!-- 生成DAO的包名和位置(配置mapper對應的Java映射類) -->
        <property name="enableSubPackage" value="false" />
        </sqlMapGenerator>
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.mmall.dao"
                             targetProject="./src/main/java" />
        <!-- 逆向生成表 -->
        <!-- 生成表1 -->
        <table tableName="mmall_user"  domainObjectName="User" enableCountByExample="false"  enableUpdateByExample="false" enableDeleteByExample="false"  enableSelectByExample="false" selectByExampleQueryId="false">
        </table>
        <table tableName="mmall_product"  domainObjectName="Product" enableCountByExample="false"  enableUpdateByExample="false" enableDeleteByExample="false"  enableSelectByExample="false" selectByExampleQueryId="false">
            <columnOverride column="detail" jdbcType="VARCHAR" />
            <columnOverride column="detail" jdbcType="VARCHAR" />
        </table>
    </context>
</generatorConfiguration>

mybatis-generator的核心依賴express

<!-- mybatis-generator begin -->
            <!-- 保證生成的mybatis文件正常運行 -->
            <mybatis.version>3.2.5</mybatis.version>
            <!-- tk.mybatis 自動生成dao,pojo,xml映射文件 -->
            <tk.mybatis.version>3.4.6</tk.mybatis.version>
            <jdbc.driver.version>5.1.38</jdbc.driver.version>
            <!-- 自動下載的依賴 -->
            <persistence.version>1.0</persistence.version>
            <!-- 序列化插件須要 -->
            <mybatis.generator.version>1.3.5</mybatis.generator.version>
            <mapper.plugin>tk.mybatis.mapper.generator.MapperPlugin</mapper.plugin>
            <mapper.Mapper>tk.mybatis.mapper.common.Mapper</mapper.Mapper>
            <!-- mybatis-generator end -->

            <!-- mybatis-generator begin -->
            <!-- Begin: mybatis依賴 -->
            <!-- Begin: 數據庫依賴包 -->
            <dependency>
                  <groupId>org.mybatis</groupId>
                  <artifactId>mybatis</artifactId>
                  <version>${mybatis.version}</version>
            </dependency>
            <dependency>
                  <groupId>mysql</groupId>
                  <artifactId>mysql-connector-java</artifactId>
                  <version>${jdbc.driver.version}</version>
                  <scope>runtime</scope>
            </dependency>
            <!-- End: 數據庫依賴包 -->
            <!-- End: mybatis依賴 -->
            <!-- 通用tk.mybatis依賴 -->
            <dependency>
                  <groupId>tk.mybatis</groupId>
                  <artifactId>mapper</artifactId>
                  <version>${tk.mybatis.version}</version>
            </dependency>
            <!-- mybatis-generator end -->

//MyMapper通用接口
/*apache

  • The MIT License (MIT)

*

  • Copyright (c) 2014-2016 abel533@gmail.com

*

  • Permission is hereby granted, free of charge, to any person obtaining a copy
  • of this software and associated documentation files (the "Software"), to deal
  • in the Software without restriction, including without limitation the rights
  • to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  • copies of the Software, and to permit persons to whom the Software is
  • furnished to do so, subject to the following conditions:

*

  • The above copyright notice and this permission notice shall be included in
  • all copies or substantial portions of the Software.

*

  • THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  • IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  • FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  • AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  • LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  • OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  • THE SOFTWARE.

*/

package com.mmall.util;

import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;

/**

  • 繼承本身的MyMapper

*

  • @author liuzh
  • @since 2015-09-06 21:53

*/
public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {

//TODO
//FIXME 特別注意,該接口不能被掃描到,不然會出錯

}
mybatis-generator的maven手動命令所須要的插件

<!-- mybatis-generate插件,maven必須 -->

<plugin>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-maven-plugin</artifactId>
                    <version>${mybatis.generator.version}</version>
                    <configuration>
                          <configurationFile>generatorConfig.xml</configurationFile>
                          <verbose>true</verbose>
                          <overwrite>false</overwrite>
                    </configuration>
                    <dependencies>
                          <!-- mybatis-generator begin -->
                          <!-- Begin: mybatis依賴 -->
                          <dependency>
                                <groupId>org.mybatis</groupId>
                                <artifactId>mybatis</artifactId>
                                <version>${mybatis.version}</version>
                          </dependency>
                          <!-- End: mybatis依賴 -->
                          <!-- 通用tk.mybatis依賴 -->
                          <dependency>
                                <groupId>tk.mybatis</groupId>
                                <artifactId>mapper</artifactId>
                                <version>${tk.mybatis.version}</version>
                          </dependency>
                          <!-- Begin: 數據庫依賴包 -->
                          <dependency>
                                <groupId>mysql</groupId>
                                <artifactId>mysql-connector-java</artifactId>
                                <version>${jdbc.driver.version}</version>
                                <scope>runtime</scope>
                          </dependency>
                          <!-- End: 數據庫依賴包 -->
                          <!-- mybatis-generator -->
                          <dependency>
                                <groupId>org.mybatis.generator</groupId>
                                <artifactId>mybatis-generator-core</artifactId>
                                <version>${mybatis.generator.version}</version>
                          </dependency>
                          <!-- mybatis-generator end -->
                    </dependencies>
              </plugin>

log4j.properties

# Global logging configuration 錯誤信息打印
log4j.rootLogger=ERROR, stdout
# MyBatis logging configuration... 對應的包打印追蹤
log4j.logger.com.octupus = TRACE
# Console output... 打印格式
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

db.properties

jdbc.jdbcUrl=jdbc:mysql://localhost:3306/springtest
jdbc.driverClass=com.mysql.jdbc.Driver?useUnicode=true&characterEncoding=utf8
jdbc.user=root
jdbc.password=root

SSM模板整合框架配置文件

<?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:aop="http://www.springframework.org/schema/aop"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/aop  http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/tx  http://www.springframework.org/schema/tx/spring-tx.xsd">
    <!-- 自動掃描 -->
    <context:component-scan base-package="com.ssmdemo.dao"/>
    <context:component-scan base-package="com.ssmdemo.service"/>
    <!-- 配置數據源 -->
    <bean id="dataSource"
           class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url"
                   value="jdbc:mysql://localhost:3306/gitchat_ssm_demo_db"/>
        <!-- 改成你的地址便可 -->
        <property name="username" value="root"/>
        <property name="password" value="root"/>
    </bean>
    <!-- 配置mybatis的sqlSessionFactory -->
    <bean id="sqlSessionFactory"  class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <!-- 自動掃描mappers.xml文件 -->
             <property name="mapperLocations"  value="classpath:mappers/*.xml"></property>
        <!-- mybatis配置文件 -->
        <property name="configLocation"  value="classpath:mybatis-config.xml"></property>
    </bean>
    <!-- DAO接口所在包名,Spring會自動查找其下的類 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.ssmdemo.dao"/>
        <property name="sqlSessionFactoryBeanName"  value="sqlSessionFactory"></property>
    </bean>
    <!-- (事務管理)transaction manager, use JtaTransactionManager for  global tx -->
    <bean id="transactionManager"
           class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
    <!-- 配置事務通知屬性 -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <!-- 定義事務傳播屬性 -->
        <tx:attributes>
            <tx:method name="insert*" propagation="REQUIRED"/>
            <tx:method name="update*" propagation="REQUIRED"/>
            <tx:method name="upd*" propagation="REQUIRED"/>
            <tx:method name="edit*" propagation="REQUIRED"/>
            <tx:method name="save*" propagation="REQUIRED"/>
            <tx:method name="add*" propagation="REQUIRED"/>
            <tx:method name="new*" propagation="REQUIRED"/>
            <tx:method name="set*" propagation="REQUIRED"/>
            <tx:method name="remove*" propagation="REQUIRED"/>
            <tx:method name="delete*" propagation="REQUIRED"/>
            <tx:method name="del*" propagation="REQUIRED"/>
            <tx:method name="change*" propagation="REQUIRED"/>
            <tx:method name="check*" propagation="REQUIRED"/>
            <tx:method name="get*" propagation="REQUIRED"  read-only="true"/>
            <tx:method name="search*" propagation="REQUIRED"  read-only="true"/>
            <tx:method name="find*" propagation="REQUIRED"  read-only="true"/>
            <tx:method name="load*" propagation="REQUIRED"  read-only="true"/>
            <tx:method name="*" propagation="REQUIRED" read-only="true"/>
        </tx:attributes>
    </tx:advice>
    <!-- 配置事務切面 -->
    <aop:config>
        <aop:pointcut id="serviceOperation"
                      expression="(execution(*  com.ssmdemo.service.*.*(..)))"/>
        <aop:advisor advice-ref="txAdvice"  pointcut-ref="serviceOperation"/>
    </aop:config>
</beans>
# Global logging configuration 錯誤信息打印
log4j.rootLogger=ERROR, stdout
# MyBatis logging configuration... 對應的包打印追蹤
log4j.logger.com.ssmdemo = TRACE
# Console output... 打印格式
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration

PUBLIC "-//mybatis.org//DTD//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

<typeAliases>
    <package name="com.ssmdemo.entity"/>
</typeAliases>

</configuration>

<?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.xsd
        http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context.xsd">
    <!-- 使用註解的包,包括子集 -->
    <context:component-scan base-package="com.ssmdemo.controller"/>
    <!-- 視圖解析器 -->
    <bean id="viewResolver"
           class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/"/>
        <property name="suffix" value=".jsp"></property>
    </bean>
</beans>

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration  1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
      <!-- <classPathEntry location="C:\path\mysqldrivername"/> -->
      <!-- 具體配置內容 -->
      <!-- <properties resource="application.properties" /> -->
      <context id="MysqlContext" targetRuntime="MyBatis3Simple"
            defaultModelType="flat">
            <property name="beginningDelimiter" value="`" />
            <property name="endingDelimiter" value="`" />
            <!-- 設置生成代碼爲utf-8 -->
            <property name="javaFileEncoding" value="UTF-8" />
            <!-- 生成 JavaBean 對象繼承 Serializable 類 -->
            <plugin  type="org.mybatis.generator.plugins.SerializablePlugin" />
            
            <!-- 增長mybatis通用mapper 插件 -->
            <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
                  <property name="mappers"  value="com.ssmdemo.utils.MyMapper" />
            </plugin>
            <!-- 去除全部註釋 -->
            <!-- <commentGenerator> <property name="suppressAllComments"  value="true"
                  /> </commentGenerator> -->
            <!-- jdbc鏈接數據庫 -->
            <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                  connectionURL="jdbc:mysql://localhost:3306/gitchat_ssm_demo_db?characterEncoding=utf8"
                  userId="root" password="root">
            </jdbcConnection>
            <!-- 生成模型(MyBatis實體類)的包名和位置(相對/絕對位置,推薦相對位置) -->
            <javaModelGenerator
                  targetPackage="com.ssmdemo.entity"
                  targetProject="csdn_ssmdemo">
                  <property name="trimStrings" value="true" />
            </javaModelGenerator>
            <!-- 生成映射文件(MyBatis的SQL語句的xml文件)包名和位置 -->
            <sqlMapGenerator targetPackage="mapper"
                  targetProject="csdn_ssmdemo" />
            <!-- 生成DAO的包名和位置(配置mapper對應的Java映射類) -->
            <javaClientGenerator type="XMLMAPPER"
                  targetPackage="com.ssmdemo.dao"
                  targetProject="csdn_ssmdemo" />
            <!-- 逆向生成表 -->
            <!-- 生成表1 -->
            <table tableName="tb_class_four"  domainObjectName="Description"
                  enableCountByExample="false"  enableUpdateByExample="false"
                  enableDeleteByExample="false"  enableSelectByExample="false"
                  selectByExampleQueryId="false">
            </table>
      </context>
</generatorConfiguration>

SSM框架中的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://xmlns.jcp.org/xml/ns/javaee"
   xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee   http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
   id="WebApp_ID" version="4.0">
     
<display-name>ssmdemo</display-name>
<!--Start 歡迎頁-->
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!--End 歡迎頁-->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!--Start spring監聽器 -->
<listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--End Start spring監聽器 -->
<!--Start 編碼過濾器 解決亂碼問題-->
<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>/*</url-pattern>
</filter-mapping>
<!--End 編碼過濾器 解決亂碼問題-->
<!--Start 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>
</servlet>
<!--End spring mvc servlet-->
<!--Start servlet-mapping -->
<servlet-mapping>
    <servlet-name>springMVC</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
<!--End servlet-mapping -->

</web-app>

logback的配置文件

<?xml version="1.0" encoding="UTF-8"?><configuration debug="true" scan="true" scanPeriod="1 seconds">

    <contextName>logback</contextName>
    <!--定義參數,後面能夠經過${app.name}使用-->
    <property name="app.name" value="logback_test"/>
    <!--ConsoleAppender 用於在屏幕上輸出日誌-->
    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
        <!--定義了一個過濾器,在LEVEL之下的日誌輸出不會被打印出來-->
        <!--這裏定義了DEBUG,也就是控制檯不會輸出比ERROR級別小的日誌-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>DEBUG</level>
        </filter>
        <!-- encoder 默認配置爲PatternLayoutEncoder -->
        <!--定義控制檯輸出格式-->
        <encoder>
            <pattern>%d [%thread] %-5level %logger{36} [%file : %line] - %msg%n</pattern>
        </encoder>
    </appender>


    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--定義日誌輸出的路徑-->
        <!--這裏的scheduler.manager.server.home 沒有在上面的配置中設定,因此會使用java啓動時配置的值-->
        <!--好比經過 java -Dscheduler.manager.server.home=/path/to XXXX 配置該屬性-->
        <file>${scheduler.manager.server.home}/logs/${app.name}.log</file>
        <!--定義日誌滾動的策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--定義文件滾動時的文件名的格式-->
            <fileNamePattern>${scheduler.manager.server.home}/logs/${app.name}.%d{yyyy-MM-dd.HH}.log.gz
            </fileNamePattern>
            <!--60天的時間週期,日誌量最大20GB-->
            <maxHistory>60</maxHistory>
            <!-- 該屬性在 1.1.6版本後 纔開始支持-->
            <totalSizeCap>20GB</totalSizeCap>
        </rollingPolicy>
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <!--每一個日誌文件最大100MB-->
            <maxFileSize>100MB</maxFileSize>
        </triggeringPolicy>
        <!--定義輸出格式-->
        <encoder>
            <pattern>%d [%thread] %-5level %logger{36} [%file : %line] - %msg%n</pattern>
        </encoder>
    </appender>


    <!--root是默認的logger 這裏設定輸出級別是debug-->
    <root level="trace">
        <!--定義了兩個appender,日誌會經過往這兩個appender裏面寫-->
        <appender-ref ref="stdout"/>
        <appender-ref ref="file"/>
    </root>


    <!--對於類路徑以 com.example.logback 開頭的Logger,輸出級別設置爲warn,而且只輸出到控制檯-->
    <!--這個logger沒有指定appender,它會繼承root節點中定義的那些appender-->
    <logger name="com.example.logback" level="warn"/>


    <!--經過 LoggerFactory.getLogger("mytest") 能夠獲取到這個logger-->
    <!--因爲這個logger自動繼承了root的appender,root中已經有stdout的appender了,本身這邊又引入了stdout的appender-->
    <!--若是沒有設置 additivity="false" ,就會致使一條日誌在控制檯輸出兩次的狀況-->
    <!--additivity表示要不要使用rootLogger配置的appender進行輸出-->
    <logger name="mytest" level="info" additivity="false">
        <appender-ref ref="stdout"/>
    </logger>
    
    <!--因爲設置了 additivity="false" ,因此輸出時不會使用rootLogger的appender-->
    <!--可是這個logger自己又沒有配置appender,因此使用這個logger輸出日誌的話就不會輸出到任何地方-->
    <logger name="mytest2" level="info" additivity="false"/></configuration>

SSM框架相關依賴

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <!-- ssm框架 -->
        <spring.version>4.2.4.RELEASE</spring.version>
        <java.version>1.8</java.version>
        <jdbc.driver.version>5.1.38</jdbc.driver.version>
        <aspectj.version>1.7.4</aspectj.version>
        <javax.servlet-api.version>3.1.0</javax.servlet-api.version>
        <jsp-api.version>2.2</jsp-api.version>
        <jstl.version>1.2</jstl.version>
        <mybatis.version>3.2.5</mybatis.version>
        <mybatis-spring.version>1.2.2</mybatis-spring.version>
        <maven.test.skip>true</maven.test.skip>

        <!-- tk.mybatis 自動生成dao,pojo,xml映射文件 -->
        <tk.mybatis.version>3.4.6</tk.mybatis.version>
        <persistence.version>1.0</persistence.version>
        <jdbc.driver.version>5.1.38</jdbc.driver.version>
        <mybatis.generator.version>1.3.5</mybatis.generator.version>
        <mapper.plugin>tk.mybatis.mapper.generator.MapperPlugin</mapper.plugin>
        <mapper.Mapper>tk.mybatis.mapper.common.Mapper</mapper.Mapper>
    </properties>

    <dependencies>
        <!-- SSM框架begin -->
        <!-- Begin: spring依賴 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</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-tx</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!-- End: spring依賴 -->

        <!-- Begin: springmvc依賴 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!-- End: springmvc依賴 -->

        <!-- Begin: 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>
        <!-- End: mybatis依賴 -->

        <!-- Begin: 數據庫依賴包 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${jdbc.driver.version}</version>
            <scope>runtime</scope>
        </dependency>
        <!-- End: 數據庫依賴包 -->

        <!-- Begin: aspectj相關jar包 -->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
        <!-- End: aspectj相關jar包 -->

        <!-- Begin: Servlet相關依賴包 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>${javax.servlet-api.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>${jsp-api.version}</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>${jstl.version}</version>
        </dependency>
        <!-- End: Servlet相關依賴包 -->
            <!--文件上傳-->
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.3.1</version>
    </dependency>
        <!-- SSM框架 end -->
        
        <!-- Begin: mybatis-generator -->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>${mybatis.generator.version}</version>
        </dependency>
        <!-- 通用tk.mybatis依賴 -->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper</artifactId>
            <version>${tk.mybatis.version}</version>
        </dependency>
        <!-- End: mybatis-generator -->
    </dependencies>

## mybatis-generatror插件

<build>
       <finalName>mmall</finalName>
       <!--配置mybatis插件-->
       <plugins>
           <plugin>
               <groupId>org.mybatis.generator</groupId>
               <artifactId>mybatis-generator-maven-plugin</artifactId>
               <version>${mybatis.generator.version}</version>
               <configuration>
                   <configurationFile>src/main/resources/mybatis-generator.xml</configurationFile>
                   <verbose>true</verbose>
                   <overwrite>true</overwrite>
               </configuration>
               <dependencies>
                   <!-- mybatis-generator begin -->
                   <!-- Begin: mybatis依賴 -->
                   <dependency>
                       <groupId>org.mybatis</groupId>
                       <artifactId>mybatis</artifactId>
                       <version>${mybatis.version}</version>
                   </dependency>
                   <!-- End: mybatis依賴 -->
                   <!-- 通用tk.mybatis依賴 -->
                   <dependency>
                       <groupId>tk.mybatis</groupId>
                       <artifactId>mapper</artifactId>
                       <version>${tk.mybatis.version}</version>
                   </dependency>
                   <!-- Begin: 數據庫依賴包 -->
                   <dependency>
                       <groupId>mysql</groupId>
                       <artifactId>mysql-connector-java</artifactId>
                       <version>${jdbc.driver.version}</version>
                       <scope>runtime</scope>
                   </dependency>
                   <!-- End: 數據庫依賴包 -->
                   <!-- mybatis-generator -->
                   <dependency>
                       <groupId>org.mybatis.generator</groupId>
                       <artifactId>mybatis-generator-core</artifactId>
                       <version>${mybatis.generator.version}</version>
                   </dependency>
                   <!-- mybatis-generator end -->
               </dependencies>
           </plugin>

           <!-- geelynote maven的核心插件之-complier插件默認只支持編譯Java 1.4,所以須要加上支持高版本jre的配置,在pom.xml裏面加上 增長編譯插件 -->
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-compiler-plugin</artifactId>
               <!--不加可能出錯-->
               <version>3.8.0</version>
               <configuration>
                   <source>1.8</source>
                   <target>1.8</target>
                   <encoding>UTF-8</encoding>
                   <!-- 很是重要,用於導入支付寶的本地依賴,不配置的話上線會報異常 -->
                   <compilerArguments>
                       <extdirs>${project.basedir}/src/main/webapp/WEB-INF/lib</extdirs>
                   </compilerArguments>
               </configuration>
           </plugin>
       </plugins>
相關文章
相關標籤/搜索