SSM整合

1. 框架整合

  Dao层:

   1、SqlMapConfig.xml,空文件即可。需要文件头。

   2、applicationContext-dao.xml。

    a) 数据库连接池

    b) SqlSessionFactory对象,需要spring和mybatis整合包下的。

    c) 配置mapper文件扫描器。

  Service层:

   1、applicationContext-service.xml包扫描器,扫描@service注解的类。

   2、applicationContext-trans.xml配置事务。

  表现层:Springmvc.xml  

   1、包扫描器,扫描@Controller注解的类。

   2、配置注解驱动。

   3、视图解析器

  Web.xml

   配置前端控制器。

   配置WEB服务器的监听器

2.配置文件

  2.1.在classpath下创建mybatis/sqlMapConfig.xml

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

  2.2.applicationContext-dao.xml配置数据源、配置SqlSessionFactory、mapper扫描器。

<!-- 加载配置文件 -->
    <context:property-placeholderlocation="classpath:db.properties"/>
    <!
destroy-method="close">
        <propertyname="driverClassName"value="${jdbc.driver}"/>
        <propertyname="url"value="${jdbc.url}"/>
        <pro-- 数据库连接池 -->
    <beanid="dataSource"class="org.apache.commons.dbcp.BasicDataSource"
        pertyname="username"value="${jdbc.username}"/>
        <propertyname="password"value="${jdbc.password}"/>
        <propertyname="maxActive"value="10"/>
        <propertyname="maxIdle"value="5"/>
    </bean>
    <!-- mapper配置 -->
    <!-- 让spring管理sqlsessionfactory 使用mybatis和spring整合包中的 -->
    <beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 数据库连接池 -->
        <propertyname="dataSource"ref="dataSource"/>
        <!-- 加载mybatis的全局配置文件 -->
        <propertyname="configLocation"value="classpath:mybatis/SqlMapConfig.xml"/>
    </bean>
    <!-- 配置Mapper扫描器 -->
    <beanclass="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <propertyname="basePackage"value="cn.itcast.springmvc.mapper"/>
    </bean>

</beans>

  2.3.applicationContext-service.xml包扫描器,扫描@service注解的类

<context:component-scanbase-package="cn.itcast.springmvc.service"/>

  2.4.applicationContext-trans.xml配置事务

<!-- 配置事务管理器 -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
      <property name="dataSource" ref="dataSource"/>
    </bean>
<!-- 开启注解事务 -->在业务层上添加一个注解:@Transactional
    <tx:annotation-driven transaction-manager="transactionManager"/>

  2.5.Springmvc.xml

<!-- 扫描带Controller注解的类 -->
    <context:component-scanbase-package="cn.itcast.springmvc.controller"/>
    <!-- 加载注解驱动 配置最新版的处理器映射器和处理器适配器-->
    <mvc:annotation-driven/>
    <!-- 视图解析器 -->
    <beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <propertyname="viewClass"
            value="org.springframework.web.servlet.view.JstlView"/>
        <!-- jsp前缀 -->
        <propertyname="prefix"value="/WEB-INF/jsp/"/>
        <!-- jsp后缀 -->
        <propertyname="suffix"value=".jsp"/>
    </bean>
</beans>

  2.6.web.xml

<!-- 加载spring容器 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring/applicationContext-*.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    
    <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/springmvc.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>*.action</url-pattern>
    </servlet-mapping>
原文地址:https://www.cnblogs.com/fengcha0/p/10127003.html