zoukankan      html  css  js  c++  java
  • ssm整合

    -拷贝相关的jar

    链接:http://pan.baidu.com/s/1kUZLDER 密码:mr6p

    -配置web.xml文件

    *spring配置文件路径

    *监听器:该监听器在服务器启动阶段实例化,解析spring的配置文件;该监听器实现了ServletContextListener接口,ServletContext

    对象创建或者销毁的时候,监听器中的方法会被执行

    *解决post请求中文乱码的过滤器

    *中央调度器:接收客户端发送的请求,交给对应的处理器进行处理,将处理器返回的结果相应给浏览器客户端

    需要指定springMVC配置文件的路径,默认路径为WEB-INF/[servlet-name]-servlet.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_3_0.xsd" id="WebApp_ID" version="3.0">
          <!-- Spring 配置文件路劲 -->
          <context-param>
              <param-name>contextConfigLocation</param-name>
              <param-value>classpath:resource/spring-config.xml</param-value>
          </context-param>
          <!-- 监听器 -->
          <listener>
              <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
          </listener>
          <!-- post请求字符集过滤器 -->
          <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>
              <init-param>
                  <param-name>forceEncoding</param-name>
                  <param-value>true</param-value>
              </init-param>
          </filter>
          <filter-mapping>
              <filter-name>characterEncodingFilter</filter-name>
              <url-pattern>/*</url-pattern>
          </filter-mapping>
          <!-- Springmvc 中央调度器 -->
          <servlet>
              <servlet-name>springmvc</servlet-name>
              <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
             <!-- SpringMVC配置文件-->
              <init-param>
                  <param-name>contextConfigLocation</param-name>
                  <param-value>classpath:resource/springmvc-config.xml</param-value>
              </init-param>
              <load-on-startup>1</load-on-startup>
          </servlet>
          <servlet-mapping>
              <servlet-name>springmvc</servlet-name>
              <url-pattern>*.do</url-pattern>
          </servlet-mapping>
    </web-app>

    -配置spring相关的配置文件

    *数据源(连接池c3p0|dbcp)

    *sessionFactory

    *事务管理器 transactionManager

    *通知Advice

    *切入

    3)ssm集成原理

    -ssm集成,其实指的就是springmybaits的集成,springMVC本身就是spring的一部分

    Spring 和 mybatis 整合

    1)首先从MyBatis官网下载mybatis-spring.jar 整合包

    2)在Spring配置文件注册SqlSessionFactoryBean,创建SqlSessionFactory

    3)注册Dao动态代理扫描器(MapperScannerConfigurer)

    /*spring-base.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:aop="http://www.springframework.org/schema/aop" 
        xmlns:tx="http://www.springframework.org/schema/tx"
        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
            http://www.springframework.org/schema/tx 
            http://www.springframework.org/schema/tx/spring-tx.xsd
            http://www.springframework.org/schema/aop 
            http://www.springframework.org/schema/aop/spring-aop.xsd">
            
            <!-- 注册oracle 属性文件 -->
            <context:property-placeholder location="classpath:resource/jdbc.properties"/>
            <!-- 数据源:c3p0 -->
            <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
                <property name="driverClass" value="${jdbc.dirver}"/>
                <property name="jdbcUrl" value="${jdbc.url}"/>
                <property name="user" value="${jdbc.user}"/>
                <property name="password" value="${jdbc.password}"/>
            </bean>
            <!-- sqlsessionFactory -->
            <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
                <property name="dataSource" ref="dataSource"/>
                <!-- mybatis配置文件位置 -->
                <property name="configLocation" value="classpath:resource/mybaties.xml"/>
            </bean>
            <!-- 配置事务管理器 -->
            <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
                <property name="dataSource" ref="dataSource"/>
            </bean>
            <!-- 事务通知 -->
            <tx:advice id="myAdvice" transaction-manager="transactionManager">
                <tx:attributes>
                    <tx:method name="*" isolation="DEFAULT" propagation="REQUIRED" rollback-for="java.lang.Exception.class"/>
                    <tx:method name="get*" read-only="true"/>
                </tx:attributes>
            </tx:advice>
            <!-- 切入 -->
            <aop:config>
                <aop:advisor advice-ref="myAdvice" pointcut="execution(* com.xiehe.epay.service.*.*(..))"/>
            </aop:config>
    </beans>

    -spring提供了两个比较重要的功能IOC,AOP

    *IOC指的是控制反转(反转的对对象控制的权利) ,mybatissessionFactory对象的创建,以及和对象间关系的维护,都是交给IOC容器处理

    *AOP指的是面向切面编程  mybatis的事务不需要程序员编写代码处理,只需要做些简单的配置即可

    IOCDI的关系:

    IOC控制反转,是一种编程思想;DI依赖注入,IOC的具体实现.

  • 相关阅读:
    VMware + CentOS 7搭建环境(二)
    VMware + CentOS 7搭建环境(一)
    电脑清理的问题整理
    windows下搭建vue+webpack的开发环境
    git使用指南
    如何使用前端技术设置地理围栏?
    js点击按钮button效果(波效果)
    计算两个日期时间之间的时间差:28小时38分钟
    jQuery实现的全选、反选和获取当前所有选中的值功能
    vue恼人的node_modules目录删除方法
  • 原文地址:https://www.cnblogs.com/he-shao/p/6105980.html
Copyright © 2011-2022 走看看