当前位置: 首页 > 后端技术 > Java

看了那么多SSM集成,这篇真是辛苦了

时间:2023-04-01 18:09:56 Java

1。与SSM的邂逅前言记得大二上学期老师第一次讲SSM集成的时候,我迷迷糊糊睡着了。平时上课听得不太好,后来听说期末要交作业,就只好上网学习了。错误的。..不用打S,不过真的是第一次搜索SSM资料。当时室友也说我不正常。但从那天开始,我就带着尴尬的表情和定期做期末作业的决心认真研究了SSM框架的集成。SSM框架SSM框架是Spring、SpringMVC、MyBatis的简称。这三个框架的集成适用于构建各种大型企业级应用系统。这是继SSH框架之后使用最广泛的JavaEE企业级框架。但是到了2022年,我觉得这句话应该改一改了,因为现在主流的企业级开发都是基于SpringBoot框架的。SSM框架的集成目前比较适合程序初学者做学习研究,计算机专业的大四学生做毕业设计。二、如何集成SSM1、框架之间的关系在集成SSM之前,我们先了解一下这些框架之间的关系。Spring和SpringMVCSpring和SpringMVC都是管理对象的容器。SpringMVC主要用来管理Controller,而Spring主要用来管理Service、Dao等对象。所以我们在SpringMVC配置文件中配置的注解扫描路径就是Controller的路径,而Spring配置文件中配置的注解扫描路径会排除Controller。Spring和SpringMVC是父子容器。Spring容器是父容器,SpringMVC是子容器。子容器可以访问父容器的对象,但是在父容器中不能访问子容器的对象。也就是说在Controller中可以访问Service对象,但是在Service中不能访问Controller对象。SpringMVC是Spring的一个子项目,是Spring家族的一部分。所以下意识地,你可以认为它们几乎粘在一起了。所以他们两个基本上是无缝结合的。说白了,他们不需要整合。Spring和MybatisMyBatis是一个基于java的持久层框架,内部封装了jdbc。它似乎与Spring没有任何关系。但是Mybatis在开发过程中有很多痛点:1、配置繁琐。我们需要配置实体类的别名、映射文件的位置和数据源。2、创建Mapper比较麻烦。3.Mybatis接口调用比较麻烦://1.读取配置文件InputStreamin=Resources.getResourceAsStream("mybatis-config.xml");//2.创建SqlSessionFactory工厂SqlSessionFactoryfactory=newSqlSessionFactoryBuilder().build(in);//3.获取SqlSession对象SqlSessionsession=factory.openSession();//4.使用SqlSession创建Dao接口的代理对象UserDaouserDao=session.getMapper(UserDao.class);//5.执行接口ListuserList=userDao.getAll();的方法复制代码但是Spring可以帮助Mybatis解决这些痛点:1.DataSource可以作为Spring的一个bean复制代码2.Spring还可以管理SqlSessionFactory对象,设置实体类名,管理mapper文件数据源-->propertyname="typeAliasesPackage"value="com.zhifou.model">/property>复制代码3.使用Spring的动态代理技术自动创建Dao接口的代理对象:复制代码2.集成思路看似SSM集成,其实是Spring和Mybatis集成。因为Spring和SpringMVC是无缝集成的,所以SpringMVC的配置基本不用动。但是我们需要注意一件事:Spring是一个用来管理对象的工厂,我们需要保证这个工厂只被创建一次。所以需要在web.xml中配置Spring的监听器。Tomcat启动时,会自动初始化Spring的IOC容器,并创建Spring的工厂。三、在集成过程中,我们首先配置SpringMVC:1、创建一个SpringMVC配置文件,配置注解扫描控制器,访问静态资源,视图解析器。2、web.xml配置中央调度器、字符过滤器,然后集成Spring和Mybatis3、创建spring配置文件,配置注解扫描排除控制器。4.配置数据源5.配置SqlSessionFactoryBean6.配置配置管理自动生成的Dao层代理对象7.配置事务管理最后我们配置Spring监听器,启动项目自动初始化Spring容器。8.在web.xml中配置Spring的监听器。3、基于配置文件集成SSM这里先说说基于配置文件集成SSM。1.创建一个基于Maven的web项目2.引入依赖org.springframeworkspring-context5.2.16.RELEASEorg.springframeworkspring-web5.2.16.RELEASEorg.springframeworkspring-jdbc5.2.16.RELEASEorg.aspectjaspectjrt1.9.5org.aspectjaspectjweaver1.9.5org.springframeworkspring-webmvc5.2.8.RELEASEorg.mybatismybatis3.5.5org.mybatismybatis-spring2.0.5mysqlmysql-connector-java8.0.28com.alibabadruid1.1.21javax.servletjavax.servlet-api3.1.0提供/dependency>com.fasterxml.jackson.corejackson-core2.13.2com.fasterxml.jackson.corejackson-databind2.13.2复制代码下面是一些引入的依赖:(1)spring-context包含了Spring所有的核心依赖,所以只需要引入这一个(2)spring-jdbc依赖包括Spring对jdbc和事务处理的封装。(3)mybatis-spring是mybatis和spring整合所需要的依赖。(4)jackson相关依赖用于处理json格式的数据。3.创建SpringMVC配置文件,配置注解扫描控制器,访问静态资源,查看解析器。4.web.xml配置中央调度器和字符过滤器。5.创建spring配置文件,配置注解扫描排除控制器。6.配置数据源这里我们通过引入外部文件来配置数据源。7.配置SqlSessionFactoryBean8.配置配置管理自动生成的Dao层代理对象9.配置事务管理10.在web.xml中配置Spring监听器。11、配置Tomcat,测试成功!洒花!12.完整代码链接:https://pan.baidu.com/s/1lT9G...提取码:ocj9复制代码4.纯注解集成SSM下面说一下基于纯注解集成SSM,创建项目以及引入依赖的过程这里就不过多解释了,Maven依赖同上。1、创建SpringMVC的配置类,配置注解扫描控制器、中央调度器、静态资源访问、视图解析器。@EnableWebMvc:启用MVC配置。2.为DataSource创建一个配置类。@PropertySource:表示引入外部文件资源。@Value:表示赋值给一个变量。3.创建一个Spring配置类。导入数据源的配置类。配置sqlSessionFactoryBean、DAO代理对象、事务管理@Import:导入并集成其他配置类@EnableTransactionManagement:启用事务管理。4.创建一个配置类来替代web.xml。这个配置类相当于web.xml的功能。Tomcat启动时会自动加载Spring和SpringMVC的配置类来初始化容器。5.测试成功!洒花!6.完整代码链接:https://pan.baidu.com/s/1LeRG...提取码:tc2k