栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

一文搞懂SSM的搭建及运行流程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一文搞懂SSM的搭建及运行流程

  • 创建maven项目

  • 引入依赖
 
    
      org.springframework
      spring-context
      5.3.9
    





    
    
      org.springframework
      spring-web
      5.3.9
    

    
    
      org.springframework
      spring-webmvc
      5.3.9
    

    
      org.springframework
      spring-tx
      5.3.9
    

    
    
      org.aspectj
      aspectjweaver
      1.9.7
      runtime
    


    
    
      javax.servlet
      javax.servlet-api
      3.1.0
      provided
    


    
      org.springframework
      spring-jdbc
      5.3.9
    

    
    
      com.fasterxml.jackson.core
      jackson-core
      2.12.3
    

    
    
      com.fasterxml.jackson.core
      jackson-databind
      2.12.4
    



    
    
      mysql
      mysql-connector-java
      5.1.37
    

    
    
      org.mybatis
      mybatis
      3.5.6
    


    
    
      org.mybatis
      mybatis-spring
      2.0.5
    

    
    
      org.projectlombok
      lombok
      1.18.16
    

    
    
      com.alibaba
      druid
      1.2.6
    

  • springmvc的配置文件




    
        
    



    



    



    
        
        
    











  • spring配置文件



    
        
    


    
        
        
        
        
    



    
        
    

    
        
        
        
    




        
            
        


        
            
                
                
                
            
        







    


  • mybatis的Mapper文件






    

        insert into user(`name`,age)values (#{name},#{age})

    
    
        select * from user
    

  • web.xml文件





    
        contextConfigLocation
        classpath:applicationContext.xml
    

    
        org.springframework.web.context.ContextLoaderListener
    

    
        DispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:spring-mvc.xml
        
        1
    

    
        DispatcherServlet
        /
    


    
        CharacterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            forceRequestEncoding
            true
        
        
            forceResponseEncoding
            true
        
        
            encoding
            UTF-8
        
    
    
        CharacterEncodingFilter
        /*
    


        
  • 普通Javaweb工程与SSM工程对比。
    SSM就是在Javaweb工程上进一步的封装,之前都是在web.xml中配置好,每一个Servlet对应的请求,当服务器接收到请求时,tomcat创建Servlet对象并执行doGet或doPost方法,此时Servlet再调用Service方法,Service层再调用Dao层方法将数据保存到数据库中。
    当用了SSM以后,我们就只需要在web.xml配置少量信息就可以运行项目。spring监听器的作用就是当服务器启动时,加载配置文件,通过反射创建对象,并解决好属性依赖,也就是不需要在Servlet中new xxxService(),Service中也不需要在new xxxDao。这就实现了控制反转。然后再就是springmvc的DispatcherServlet,这个servlet拦截所有请求,当服务器接收到请求以后,就交给了这个DispatcherServlet处理, 在这个servlet中,springmvc会根据请求的url等信息,找到所有的controller,再找到每个controller中标注了@RequestMapping的方法,还是通过反射,来执行处理器方法,执行完成以后,由springmvc返回给前端。这里涉及到一个问题,就是Springmvc在创建controller对象时,如果自动注入了service,然后service是在spring的容器中的,springmvc是怎么找到的?因为spring的监听器在创建完IOC容器中后,会将容器拷贝到servletContext中,通过spring提供的WebApplicationContextUtils可以获取spring的容器中的对象,此时springmvc就可以完成依赖注入。spring又是怎么和mybatis整合的?此时我们引入了spring和mybatis的适配包,让spring创建mybatis的SqlSessionFactionBean,还要告诉mybatis的代理接口在哪里,让spring创建MapperScannerConfirue对象,执行接口包,这个对象会从容器中拿到SqlSessionFactory,然后为每一个接口创建代理对象,放入spring容器中,此时就可以在service层自动注入mybatis的接口实现对象了。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/305550.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号