SSM框架知识点整合

举报
小不点~ 发表于 2023/02/04 14:19:48 2023/02/04
1.1k+ 0 0
【摘要】 ​ 目录前言SSM框架整合时,Spring配置文件中配置信息主要包括在进行Spring与MyBatis整合时SSM框架整合配置文件spring-servlet.xml示例前言MyBatis与Spring整合所需JAR包主要包括:Spring框架所需的JAR包、 MyBatis框架所需的JAR包、MyBatis与Spring整合的中间JAR、数据库驱动JAR包,以及数据源所需的JAR包。Map...

 目录

前言

SSM框架整合时,Spring配置文件中配置信息主要包括

在进行Spring与MyBatis整合时

SSM框架整合配置文件spring-servlet.xml示例


前言

MyBatis与Spring整合所需JAR包主要包括:

Spring框架所需的JAR包、 MyBatis框架所需的JAR包、MyBatis与Spring整合的中间JAR、数据库驱动JAR包,以及数据源所需的JAR包。

MapperFactoryBean是MyBatis-Spring团队提供的一个用于根据Mapper接口生成Mapper对象的类,通过MapperFactoryBean可以配置接口文件以及注入SqlSessionfactory,从而完成一个Bean的实例化。

MapperScannerConfigurer是MyBatis-Spring团队提供的一种用于以自动扫描形式来配置MyBatis中映射器的类,可以通过配置包路径来自动扫描包接口生成映射器,这使得开发人员可以在编写很少代码的情况下,完成对映射器的配置,从而提高开发效率。

由于Spring MVC是Spring框架中的一个模块,所以Spring MVC与Spring之间不存在整合的问题,只要引入相应JAR包就可以直接使用。因此SSM框架的整合就只涉及到了Spring与MyBatis的整合,以及Spring MVC与MyBatis的整合。

Spring与MyBatis框架的整合时,通过Spring实例化Bean,然后调用实例对象中的查询方法来执行MyBatis映射文件中的SQL语句的,如果能够正确查询出数据库中的数据,那么就可以认为Spring与MyBatis框架整合成功。

加入Spring MVC后,如果可以通过前台页面来执行查询方法,并且查询出的数据能够在页面中正确显示,那么就可以认为三大框架整合成功。

SSM框架整合时,Spring配置文件中配置信息主要包括

(1)读取数据库常量配置文件db.properties的配置信息;

(2)数据源的配置信息;

(3)事务管理器的配置信息;

(4)开启事务注解的配置;

(5)MyBatis工厂SqlSessionFactory的配置信息;

(6)mapper文件扫描器的配置;

(7)扫描Service层的配置。

在MyBatis+Spring的项目中,事务是由Spring来管理的。

MyBatis-Spring团队提供了一种自动扫描的形式来配置MyBatis中的映射器——采用MapperScannerConfigurer类。

在进行Spring与MyBatis整合时

Spring框架所需要准备的JAR包共10个

其中包括:4个核心模块JAR,AOP开发使用的JAR,JDBC和事务的JAR。 

Dao层开发可以使用传统的DAO方式的开发整合,以及Mapper接口方式的开发整合。

可以使用mybatis-spring包中所提供的SqlSessionTemplate类或SqlSessionDaoSupport类来实现向DAO实现类中注入SqlSessionFactory。 

SSM框架整合主要是Spring与Mybatis的整合,以及SpringMVC与Mybatis的整合。

为了避免Spring配置文件中的信息过于臃肿,通常会将Spring配置文件中的信息按照业务功能的不同分散在多个配置文件中。在整合项目中,db.properties文件主要用于数据库常量的配置。

Spring与MyBatis框架的整合时,可以通过Spring实例化Bean,然后调用实例对象中的查询方法来执行MyBatis映射文件中的SQL语句,如果能够正确查询出数据库中的数据,就可以认为Spring与MyBatis框架整合成功。 

SSM框架整合配置文件spring-servlet.xml示例

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

<!--组件扫描-->
<context:component-scan base-package="action" />
<context:component-scan base-package="service" />
<context:component-scan base-package="dao" />
<!--启动注解-->
    <mvc:annotation-driven/>
    <!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>

<!-- 配置mybatis:配置SqlSessionFactory -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis_config.xml"></property>
</bean>

<!-- Spring和MyBatis整合:配置扫描Dao接口的包,动态实现Dao接口,注入到Spring容器中 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 给出需要扫描的Dao接口包 ,set注入-->
        <property name="basePackage" value="dao" />
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
    </bean>
</beans>​​​​​​​

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。