springMVC基础配置

1.1. 导入依赖

<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/xsd/maven-4.0.0.xsd">

   <modelVersion>4.0.0</modelVersion>

 

   <parent>

      <groupId>cn.itcast.parent</groupId>

      <artifactId>itcast-parent</artifactId>

      <version>0.0.1-SNAPSHOT</version>

   </parent>

 

   <groupId>cn.itcast.manage</groupId>

   <artifactId>itcast-usermanage</artifactId>

   <version>1.0.0-SNAPSHOT</version>

   <packaging>war</packaging>

 

   <dependencies>

      <!-- 单元测试 -->

      <dependency>

         <groupId>junit</groupId>

         <artifactId>junit</artifactId>

         <scope>test</scope>

      </dependency>

      <dependency>

         <groupId>org.springframework</groupId>

         <artifactId>spring-webmvc</artifactId>

      </dependency>

      <dependency>

         <groupId>org.springframework</groupId>

         <artifactId>spring-jdbc</artifactId>

      </dependency>

      <dependency>

         <groupId>org.springframework</groupId>

         <artifactId>spring-aspects</artifactId>

      </dependency>

      <!-- Mybatis -->

      <dependency>

         <groupId>org.mybatis</groupId>

         <artifactId>mybatis</artifactId>

      </dependency>

      <dependency>

         <groupId>org.mybatis</groupId>

         <artifactId>mybatis-spring</artifactId>

      </dependency>

      <!-- 分页助手 -->

      <dependency>

         <groupId>com.github.pagehelper</groupId>

         <artifactId>pagehelper</artifactId>

      </dependency>

      <dependency>

         <groupId>com.github.jsqlparser</groupId>

         <artifactId>jsqlparser</artifactId>

      </dependency>

 

      <!-- 通用Mapper -->

      <dependency>

         <groupId>com.github.abel533</groupId>

         <artifactId>mapper</artifactId>

      </dependency>

      <!-- MySql -->

      <dependency>

         <groupId>mysql</groupId>

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

      </dependency>

      <dependency>

         <groupId>org.slf4j</groupId>

         <artifactId>slf4j-log4j12</artifactId>

      </dependency>

      <!-- Jackson Json处理工具包 -->

      <dependency>

         <groupId>com.fasterxml.jackson.core</groupId>

         <artifactId>jackson-databind</artifactId>

      </dependency>

      <!-- 连接池 -->

      <dependency>

         <groupId>com.jolbox</groupId>

         <artifactId>bonecp-spring</artifactId>

      </dependency>

      <!-- JSP相关 -->

      <dependency>

         <groupId>jstl</groupId>

         <artifactId>jstl</artifactId>

      </dependency>

      <dependency>

         <groupId>javax.servlet</groupId>

         <artifactId>servlet-api</artifactId>

         <scope>provided</scope>

      </dependency>

      <dependency>

         <groupId>javax.servlet</groupId>

         <artifactId>jsp-api</artifactId>

         <scope>provided</scope>

      </dependency>

      <!-- 时间操作组件 -->

      <dependency>

         <groupId>joda-time</groupId>

         <artifactId>joda-time</artifactId>

      </dependency>

      <!-- Apache工具组件 -->

      <dependency>

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

         <artifactId>commons-lang3</artifactId>

      </dependency>

      <dependency>

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

         <artifactId>commons-io</artifactId>

      </dependency>

   </dependencies>

 

   <build>

      <plugins>

         <!-- 配置Tomcat插件 -->

         <plugin>

            <groupId>org.apache.tomcat.maven</groupId>

            <artifactId>tomcat7-maven-plugin</artifactId>

            <configuration>

               <port>80</port>

               <!--

                  http://127.0.0.1:{port}/{path}

                -->

               <path>/</path>

            </configuration>

         </plugin>

      </plugins>

   </build>

</project>

1.2. 运行tomcat插件

运行出错:

问题:

解决:

需要将itcast-parent安装到本地仓库。

1.3. Web.xml

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

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

   xmlns="http://java.sun.com/xml/ns/javaee"

   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

   id="WebApp_ID" version="2.5">

   <display-name>itcast-usermanage</display-name>

 

   <context-param>

      <param-name>contextConfigLocation</param-name>

      <param-value>classpath:spring/applicationContext*.xml</param-value>

   </context-param>

 

   <!--Spring的ApplicationContext 载入 -->

   <listener>

      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

   </listener>

 

   <!-- 编码过滤器,以UTF8编码 -->

   <filter>

      <filter-name>encodingFilter</filter-name>

      <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

      <init-param>

         <param-name>encoding</param-name>

         <param-value>UTF8</param-value>

      </init-param>

   </filter>

   <filter-mapping>

      <filter-name>encodingFilter</filter-name>

      <url-pattern>/*</url-pattern>

   </filter-mapping>

 

   <!-- 配置SpringMVC框架入口 -->

   <servlet>

      <servlet-name>itcast-usermanage</servlet-name>

      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

      <init-param>

         <param-name>contextConfigLocation</param-name>

         <param-value>classpath:spring/itcast-usermanage-servlet.xml</param-value>

      </init-param>

      <load-on-startup>1</load-on-startup>

   </servlet>

 

   <servlet-mapping>

      <servlet-name>itcast-usermanage</servlet-name>

      <!--

         可以:

         *.xxx

         /xxx/*

         /

         不可以:

         /*

       -->

      <url-pattern>/rest/*</url-pattern>

   </servlet-mapping>

 

   <welcome-file-list>

      <welcome-file>index.jsp</welcome-file>

   </welcome-file-list>

 

</web-app>

1.4. Jdbc.properties

1.5. Spring容器配置文件

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"

   xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"

   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-4.0.xsd

   http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd

   http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd

   http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">

 

   <!-- 使用spring自带的占位符替换功能 -->

   <bean

   class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

      <!-- 允许JVM参数覆盖 -->

      <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />

      <!-- 忽略没有找到的资源文件 -->

      <property name="ignoreResourceNotFound" value="true" />

      <!-- 配置资源文件 -->

      <property name="locations">

         <list>

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

         </list>

      </property>

   </bean>

  

   <!-- 扫描包 -->

   <context:component-scan base-package="cn.itcast"/>

 

    <!-- 定义数据源 -->

   <bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"

      destroy-method="close">

      <!-- 数据库驱动 -->

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

      <!-- 相应驱动的jdbcUrl -->

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

      <!-- 数据库的用户名 -->

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

      <!-- 数据库的密码 -->

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

      <!-- 检查数据库连接池中空闲连接的间隔时间,单位是分,默认值:240,如果要取消则设置为0 -->

      <property name="idleConnectionTestPeriod" value="60" />

      <!-- 连接池中未使用的链接最大存活时间,单位是分,默认值:60,如果要永远存活设置为0 -->

      <property name="idleMaxAge" value="30" />

      <!-- 每个分区最大的连接数 -->

      <!--

         判断依据:请求并发数

       -->

      <property name="maxConnectionsPerPartition" value="100" />

      <!-- 每个分区最小的连接数 -->

      <property name="minConnectionsPerPartition" value="5" />

   </bean>

 

</beans>

1.6. Spring事务

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"

   xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"

   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-4.0.xsd

   http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd

   http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd

   http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">

  

   <!-- 定义事务管理器 -->

   <bean id="transactionManager"

   class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

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

   </bean>

 

   <!-- 定义事务策略 -->

   <tx:advice id="txAdvice" transaction-manager="transactionManager">

      <tx:attributes>

         <!--所有以query开头的方法都是只读的 -->

         <tx:method name="query*" read-only="true" />

         <!--其他方法使用默认事务策略 -->

         <tx:method name="*" />

      </tx:attributes>

   </tx:advice>

 

   <aop:config>

      <!--pointcut元素定义一个切入点,execution中的第一个星号 用以匹配方法的返回类型,

         这里星号表明匹配所有返回类型。 com.abc.dao.*.*(..)表明匹配cn.itcast.mybatis.service包下的所有类的所有

         方法 -->

      <aop:pointcut id="myPointcut" expression="execution(* cn.itcast.usermanage.service.*.*(..))" />

      <!--将定义好的事务处理策略应用到上述的切入点 -->

      <aop:advisor advice-ref="txAdvice" pointcut-ref="myPointcut" />

   </aop:config>

  

</beans>

1.7. SpringMVC配置文件

 

1.8. Mybatis和Spring的整合

1.8.1.   整合文件

 

1.8.2.   Mybatis的全局配置文件

 

原文地址:https://www.cnblogs.com/sg9527/p/8627357.html