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的具体实现.

原文地址:https://www.cnblogs.com/he-shao/p/6105980.html