SSM整合

目录

一、引入SSM框架依赖

 二、SSM框架搭建

1、创建maven项目。

2、在pom.xml文件中添加依赖。

3、在main根目录下创建webapp目录

1、在webapp根目录下创建WEB-INF目录

2、在WEB-INF根目录下创建views目录

3、在WEB-INF根目录下创建web.xml配置文件

4、在Java目录下创建SSM三层结构(控制层、服务层、持久层和实体类)

5、在resources根目录下创建spring、springmvc、mybatis、数据库和日志的配置文件。

 三、流程分析

2、springmvc-config文件

                    


一、引入SSM框架依赖


    war
    
        
        
            javax.servlet
            javax.servlet-api
            4.0.1
            provided
        
        
            javax.servlet.jsp
            javax.servlet.jsp-api
            2.3.3
            provided
        
        
            org.springframework.boot
            spring-boot-starter-web
            2.4.1
        
        
        
            javax.annotation
            javax.annotation-api
            1.3.1
        
        
        
            org.springframework
            spring-webmvc
            5.3.13
        
        
        
            org.springframework
            spring-tx
            5.3.13
        
        
            org.springframework
            spring-jdbc
            5.3.13
        
        
        
            org.aspectj
            aspectjweaver
            1.9.8
        
        
        
            org.mybatis
            mybatis
            3.5.6
        
        
        
            mysql
            mysql-connector-java
            8.0.28
        
        
        
            com.alibaba
            druid
            1.1.10
        
        
        
            org.mybatis
            mybatis-spring
            2.0.7
        
        
        
            jstl
            jstl
            1.2
        
        
        
            commons-fileupload
            commons-fileupload
            1.3.3
        
        
        
            com.fasterxml.jackson.core
            jackson-databind
            2.13.1
        
        
        
            org.hibernate.validator
            hibernate-validator
            6.2.0.Final
        
        
        
            log4j
            log4j
            1.2.17
        
        
        
            org.projectlombok
            lombok
            1.18.22
        
        
        
            junit
            junit
            4.13.2
        
        
        
            com.github.pagehelper
            pagehelper
            5.3.0
        
        
        
            org.thymeleaf
            thymeleaf
            3.0.11.RELEASE
        
    

 二、SSM框架搭建

1、创建maven项目。

2、在pom.xml文件中添加依赖。

需要注意的是pom文件打包方式为war。

3、在main根目录下创建webapp目录

SSM整合_第1张图片

1、在webapp根目录下创建WEB-INF目录

2、在WEB-INF根目录下创建views目录

views目录是用来存放视图文件(jsp或者是html文件)的,存放在该目录下的jsp文件是不能直接访问的需要在通过转发或者重定向的方式访问,也就是需要通过访问controller来访问。

3、在WEB-INF根目录下创建web.xml配置文件

该配置文件是SSM程序的入口,通过该配置文件程序能读取到spring和springmvc的配置文件。也就是需要在服务器启动的时候加载这两个配置文件。




    
    
        springmvc
        org.springframework.web.servlet.DispatcherServlet
        
        
            contextConfigLocation
            classpath:spring-*.xml
            
        
        
        1
    
    
        springmvc
        /
        
    
    
    
        characterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
        
            encoding
            UTF-8
        
        
            
            forceEncoding
            true
        
    
    
    
        characterEncodingFilter
        
        
        springmvc
    
    

    

4、在Java目录下创建SSM三层结构(控制层、服务层、持久层和实体类)

SSM整合_第2张图片

5、在resources根目录下创建spring、springmvc、mybatis、数据库和日志的配置文件。

SSM整合_第3张图片

 三、流程分析

 客户端发出请求被springmvc框架及的前端控制器(dispatcherServlet)拦截,前端控制器将请求交给处理器映射器,处理器映射器需要从spring容器中检索到controller,因此需要在springmvc配置文件中配置扫描(该扫描仅仅是针对controller的),如下:

当controller实例被加载到spring容器中时,此时的处理器映射器会找到能够处理前端控制器传递来的url的controller,并生成调用链并将其传递给前端控制器。前端控制器接受到处理器映射器传递来的调用链后,将该调用链传递给处理器适配器,处理器适配器根据调用链找到具体的controller的方法来处理客户端发送来的请求。

controller只是负责接受客户端的请求,controller需要调用service层实现具体的业务逻辑。所以还需要在springmvc的配置文件中扫描service层。如下:

service层负责具体的逻辑,但是对数据库的操作是由mybatis框架实现的,也就是dao层,因为spring框架既有数据库功能也有事务管理功能因此数据库与数据库的事务管理交给spring框架,mybatis框架只负责执行sql语句。 spring配置文件中的数据库配置和事务管理配置代码如下:





    
    
    
    




    


    


这样, 就相当于是和数据库打通了,然后就是要让mybatis框架干活,spring框架和mybatis框架的链接是sqlsession对象,也就是说spring框架只有通过sqlsession对象执行SQL语句才能操作数据库,那么sqlSession对象能执行哪些SQL语句呢?这就看mapper文件中有哪些SQL语句了,sqlSessionFactory是生产sqlSession的工厂,是根据mapper文件生产出来的sqlSession对象,因此需要在spring配置文件中配置sqlSessionFactory的实例,代码如下:


    
    

可以看到首先是加载数据源,加载数据源之后sqlSessionFactory对象生产出来的sqlSession对象才知道它要操作哪个数据库!然后又加载了mybatis配置文件。 mybatis配置文件现在只需要加载mapper文件即可,代码如下:


    
        
    

 得到数据库信息和SQL语句的信息之后就能生产sqlSession对象了,代码如下:


    
    

 在mybatis中sqlSession通过getMapper(xxx.class)来执行该接口对应的mapper文件的SQL语句,在SSM中dao层需要注入到service层中,因此我们还需要扫描Dao层。也就是

此时service会访问到dao层,controller层会访问到service层,得到service层的结果后还需要返回视图,因此还需要在springmvc配置文件中配置视图解析器,代码如下:


    
    

至此,整个SSM流程完毕。 

                    

你可能感兴趣的:(java后端,spring,java)