springmvc(二) ssm框架整合的各种配置

      ssm:springmvc、spring、mybatis这三个框架的整合,有耐心一步步走。

                        --WZY

 

一、SSM框架整合

      1.1、整合思路

        从底层整合起,也就是先整合mybatis与spring,然后在编写springmvc。

      1.2、开发需求

        查询商品列表(从数据库中查询)

      1.3、创建web工程

          springmvc(二) ssm框架整合的各种配置_第1张图片

        现在ssm的工程创建就有区别于原先的dao、service、web这样的三层目录了,现在是mapper、service、controller这样的目录,mapper就相当于以前的dao、controller相当于以前的web,改变了名称而已。不要因此看不懂了。

      1.4、添加jar包

        这种jar包,上网直接百度ssm整合的jar包即可

        数据库驱动、Mybatis的核心、依赖包、Mybatis与spring的整合包、Dbcp连接池包、Spring的包(包括springmvc的包)、Aop的依赖包、Jstl包、Common-logging包   

          springmvc(二) ssm框架整合的各种配置_第2张图片

      1.5、开始整合mapper(mybatis与spring的整合)

        详细的整合思路讲解:mybatis与spring的整合 这里我直接上代码。步骤

        1.5.1、SqlMapConfig.xml

          springmvc(二) ssm框架整合的各种配置_第3张图片


DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">


    
    
        
        <package name="com.wuhao.ms.domain"/>
    
    

        

    <package name="com.wuhao.ssm.mapper"/>

SqlMapConfig.xml

 

        1.5.2、applicationContext-dao.xml的配置

            springmvc(二) ssm框架整合的各种配置_第4张图片   

          这里需要注意一点,在指定mybatis的全局配置文件的路径的时候,也就是在value="classpath:SqlMapConfig.xml"时,如果在创建的config的配置文件目录下还有层级目录,则这里需要加上,比如,config下面分为了mybatis和spring,那么这里就需要写value="classpath:mybatis/SqlMapConfig.xml",看根据你自己的需求来编写

            springmvc(二) ssm框架整合的各种配置_第5张图片


    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
    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-3.2.xsd 
        http://www.springframework.org/schema/mvc 
        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.2.xsd 
        http://www.springframework.org/schema/aop 
        http://www.springframework.org/schema/aop/spring-aop-3.2.xsd 
        http://www.springframework.org/schema/tx 
        http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">
    
    

    
    class="org.apache.commons.dbcp.BasicDataSource">
        
        
        
        
        
        
    
    
    
    class="org.mybatis.spring.SqlSessionFactoryBean">
        
        
        
        
    
     
     class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        
        
        
     
    
applicationContext-dao.xml

               

        1.5.3、db.properties配置

            

db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
db.username=root
db.password=root
db.properties

 

        1.5.4、开发mapper,将逆向工程生成的添加进来

            springmvc(二) ssm框架整合的各种配置_第6张图片

          注意:Mapper开发时,先要根据需求进行分析,是否匹配逆向工程生成的代码,如果匹配成功,则不需要再开发mapper;如果不匹配,再去扩展一个新的mapper接口和mapper映射文件来处理该需求,通俗点讲,就是逆向工程生成的mapper接口中的定义的功能是否满足我们开发的需求,因为逆向工程生成的都是对于单表进行操作的,而我们有时候需要的是更复杂的查询,所以如果有需要我们在自己创建mapper接口和mapper映射文件,其实就是扩展功能。

 

      1.6、整合service

        添加applicationContext-service.xml配置文件,用来处理事务,

        applicationContext-service.xml:如果不懂其中的代码的意思,就查看之前讲解spring管理事务的文章。这里直接复制粘帖即可,修改一些包名称等

          springmvc(二) ssm框架整合的各种配置_第7张图片


    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
    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-3.2.xsd 
        http://www.springframework.org/schema/mvc 
        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.2.xsd 
        http://www.springframework.org/schema/aop 
        http://www.springframework.org/schema/aop/spring-aop-3.2.xsd 
        http://www.springframework.org/schema/tx 
        http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">
        
    
    package="com.wuhao.ssm.service">
    
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        
        
    
    
    
    
        
            
            
            
            
            
            
            
            
            
            
            
            
            
        
    
    
    
    
        
    
applicationContext-service.xml

 

      1.7、整合controller

        也就是使用springmvc了。非常简单。

        1.7.1、在web.xml中配置前端控制器DispatcherServlet

          springmvc(二) ssm框架整合的各种配置_第8张图片

 
  
      springmvc
      class>org.springframework.web.servlet.DispatcherServletclass>
  
      
          contextConfigLocation
          classpath:spring/springmvc.xml
      
  
  
      springmvc
      
      *.do
  
web.xml中前端控制器DispatcherServlet的配置

 

        1.7.2、配置springmvc.xml

          springmvc(二) ssm框架整合的各种配置_第9张图片


    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
    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-3.2.xsd 
        http://www.springframework.org/schema/mvc 
        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.2.xsd 
        http://www.springframework.org/schema/aop 
        http://www.springframework.org/schema/aop/spring-aop-3.2.xsd 
        http://www.springframework.org/schema/tx 
        http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">
    
    
    package="com.wuhao.ssm.controller">
    



    
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        
        
    
    
    

springmvc.xml

 

      1.8、整合spring配置文件      

        就是将所有的spring的配置文件都进行加载启动。也就是在web.xml中配置spring的监听器

          springmvc(二) ssm框架整合的各种配置_第10张图片    

 
   
   
        contextConfigLocation
        classpath:applicationContext-*.xml

     
     
         class>org.springframework.web.context.ContextLoaderListenerclass>
    
web.xml中配置加载spring容器和监听器

 

      1.9、总结所有的配置如下图

          springmvc(二) ssm框架整合的各种配置_第11张图片    

 

      1.10、部署测试

        1.10.1、查询商品列表(从数据库中查询) 

          1、编写service层 

            ItemsService 接口

              springmvc(二) ssm框架整合的各种配置_第12张图片

            ItemsServiceImpl 实现类 不使用注解开发

              springmvc(二) ssm框架整合的各种配置_第13张图片

            applicationContext-service.xml中配置该service的bean

                

 

            ItemsServiceImpl 实现类 使用注解的话,就不需要在applicationContext-service.xml中配置该service的bean了

              springmvc(二) ssm框架整合的各种配置_第14张图片

          2、编写controller层

            该层的编写有很多中方式,我记得前一节讲解过,比如实现Controller接口,使用注解等,一般直接使用注解。

            ItemsController

              springmvc(二) ssm框架整合的各种配置_第15张图片    

          3、添加jsp页面

              springmvc(二) ssm框架整合的各种配置_第16张图片

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix="fmt"%>
DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>查询商品列表title>
head>
<body> 
<form action="${pageContext.request.contextPath }/item/queryItem.action" method="post">
查询条件:
<table width="100%" border=1>
<tr>
<td><input type="submit" value="查询"/>td>
tr>
table>
商品列表:
<table width="100%" border=1>
<tr>
    <td>商品名称td>
    <td>商品价格td>
    <td>生产日期td>
    <td>商品描述td>
    <td>操作td>
tr>
<c:forEach items="${itemsList }" var="item">
<tr>
    <td>${item.name }td>
    <td>${item.price }td>
    <td><fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/>td>
    <td>${item.detail }td>
    
    <td><a href="${pageContext.request.contextPath }/editItems.do?id=${item.id}">修改a>td>

tr>
c:forEach>

table>
form>
body>

html>
itemsList.jsp

 

          4、测试

              http://localhost:8080/ssm_test01/queryItems.do 如下图,即成功

              springmvc(二) ssm框架整合的各种配置_第17张图片

二、总结

      这样,ssm的框架整合就结束了,非常简单,按步骤,先整合mybatis与spring,然后在整合springmvc。自己练习几遍就会了。接下来的文章就会以此为基础,讲解springmvc的各种小功能,比如,springmvc的参数绑定、springmvc的校验器,图片的上传等。

 

你可能感兴趣的:(springmvc(二) ssm框架整合的各种配置)