• 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的全局配置文件

     

  • 相关阅读:
    九种常用排序的性能分析总结
    C语言输出格式总结
    线程安全的单例模式
    反射原理
    二进制的计算(计算机为什么采用补码存储数据)
    java程序员必须会的技能
    09网易校园招聘笔试题
    Spring获取ApplicationContext方式,和读取配置文件获取bean的几种方式
    【转】策略与机制分离
    VM PowerCli的简单安装和使用学习
  • 原文地址:https://www.cnblogs.com/sg9527/p/8627357.html
Copyright © 2020-2023  润新知