spring 整合 mybatis、springMVC(总结)

- 引入到spring后的配置

    <?xml version="1.0" encoding="UTF-8" ?>    <!DOCTYPE configuration    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"    "http://mybatis.org/dtd/mybatis-3-config.dtd">    <configuration>          <!-- 原本是要去配置数据源信息的,但是和spring整合后,此步骤将交给spring去做-->            <mappers>        <mapper resource="com/kuang/dao/userMapper.xml"/>      </mappers>    </configuration>

  • 编写 MyBatis 工具类

  import org.apache.ibatis.io.Resources;  import org.apache.ibatis.session.SqlSession;  import org.apache.ibatis.session.SqlSessionFactory;  import org.apache.ibatis.session.SqlSessionFactoryBuilder;  import java.io.IOException;  import java.io.InputStream;  public class MybatisUtils {    private static SqlSessionFactory sqlSessionFactory;    static {      try {        String resource = "mybatis-config.xml";        InputStream inputStream =  Resources.getResourceAsStream(resource);        sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);      } catch (IOException e) {        e.printStackTrace();      }    }    //获取SqlSession连接    public static SqlSession getSession(){      return sqlSessionFactory.openSession();    }  }

2.spring 配置流程

  • 在 xml 文件中注册 bean 对象(没有用注解)

  <?xml version="1.0" encoding="UTF-8"?>  <beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.springframework.org/schema/beans    http://www.springframework.org/schema/beans/spring-beans.xsd">        <!--bean就是java对象 , 由Spring创建和管理-->    <bean id="hello" class="com.kuang.pojo.Hello">      <property name="name" value="Spring"/>    </bean>  </beans>

  • 或者在 xml 文件中使用扫描包(配合注解)

  <?xml version="1.0" encoding="UTF-8"?>  <beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.springframework.org/schema/beans    http://www.springframework.org/schema/beans/spring-beans.xsd">    <!--指定注解扫描包-->    <context:component-scan base-package="com.kuang.pojo"/>  </beans>

3.spring 整合 Dao 层

  1. 创建数据库配置文件 database.properties

  jdbc.driver=com.mysql.jdbc.Driver  jdbc.url=jdbc:mysql://localhost:3306/mytest?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=UTC  jdbc.username=root  jdbc.password=root

  1. 创建 spring 整个 Dao 层的配置文件 spring-dao.xml,主要整合数据库连接文件,连接池信息,sqlsessionFactory(需绑定 Mybatis 配置文件去读取配置 Mapper 信息),dao 层动态注入到 Spring 中

  <?xml version="1.0" encoding="UTF-8"?>  <beans xmlns="http://www.springframework.org/schema/beans"         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.xsd         http://www.springframework.org/schema/context         https://www.springframework.org/schema/context/spring-context.xsd">        <!--1,关联数据库连接文件-->      <context:property-placeholder location="classpath:database.properties"/>      <!--2,连接池 c3p0-->      <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">          <property name="driverClass" value="${jdbc.driver}"/>          <property name="jdbcUrl" value="${jdbc.url}"/>          <property name="user" value="${jdbc.username}"/>          <property name="password" value="${jdbc.password}"/>            <!-- c3p0连接池的私有属性 -->          <property name="maxPoolSize" value="30"/>          <property name="minPoolSize" value="10"/>          <!-- 关闭连接后不自动commit -->          <property name="autoCommitOnClose" value="false"/>          <!-- 获取连接超时时间 -->          <property name="checkoutTimeout" value="10000"/>          <!-- 当获取连接失败重试次数 -->          <property name="acquireRetryAttempts" value="2"/>      </bean>      <!-- 3,配置sqlSessionFactory-->      <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">          <property name="dataSource" ref="dataSource"/>          <!-- 绑定mybatis的配置文件-->          <property name="configLocation" value="classpath:mybatis-config.xml"/>      </bean>      <!-- 4,配置dao层,动态实现了接口可以注入到Spring容器中-->      <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">          <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>          <property name="basePackage" value="com.kuangshen.dao"/>      </bean>  </beans>

分析:spring-dao.xml 文件整合了 mybatis 的 mybatis-config.xml 文件中的数据库配置信息以及工具类和 dao 层的 bean 信息。

4.spring 整合 Service 层

创建 spring 整合 service 层的文件spring-service.xml,主要配置让 spring 去扫描 service 包的位置,配置 impl 中要注入的 mapper 信息,声明事务的提交方式,以及 AOP 事务的支持。

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       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.xsd       http://www.springframework.org/schema/context       https://www.springframework.org/schema/context/spring-context.xsd">    <!--扫描service下的包 -->    <context:component-scan base-package="com.swz.service"/>    <!-- 2业务类注入到spring-->    <bean id="UserServiceImpl" class="com.swz.service.UserServiceImpl">        <property name="userMapper" ref="userMapper"/>    </bean>    <!-- 3声明事务提交方式-->    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">        <property name="dataSource" ref="dataSource"/>    </bean>    <!-- 4AOP事务支持--></beans>

注意:<context:component-scan base-package="com.swz.service"/> 在 xml 配置了这个标签后,spring 可以自动去扫描 base-pack 下面或者子包下面的 Java 文件,如果扫描到有 @Component @Controller@Service 等这些注解的类,则把这些类注册为 bean。

5.spring 整合 MVC 层

  1. 创建 spring 整合 mvc 层的文件 spring-mvc.xml,主要配置 springMVC 静态资源过滤,开启 springMVC 注解驱动

  <?xml version="1.0" encoding="UTF-8"?>  <beans xmlns="http://www.springframework.org/schema/beans"         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"         xsi:schemaLocation="http://www.springframework.org/schema/beans         http://www.springframework.org/schema/beans/spring-beans.xsd         http://www.springframework.org/schema/mvc         https://www.springframework.org/schema/mvc/spring-mvc.xsd         http://www.springframework.org/schema/context         https://www.springframework.org/schema/context/spring-context.xsd">      <!--1.注解驱动-->      <mvc:annotation-driven/>      <!--2处理器映射器和处理器适配器-->      <mvc:default-servlet-handler/>      <!--3扫描包-->      <context:component-scan base-package="com.leshangju.controller"/>        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">          <property name="prefix" value="/WEB-INF/jsp/"/>          <property name="suffix" value=".jsp"/>      </bean>  </beans>

6. spring 整合 dao-service-mvc 三层

将以上配置的 spring-dao.xml,spring-service.xml,spring-mvc.xml 整合到 applicationContext.xml 中,同一个 spring 文件中来,实现最终的整合。

注意:此步骤正确的方式是每配置完一个 xml 都注入整合进来一次,而不是最终才整合。

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xsi:schemaLocation="http://www.springframework.org/schema/beans       http://www.springframework.org/schema/beans/spring-beans.xsd">    <import resource="spring-dao.xml"/>    <import resource="spring-sevice.xml"/>    <import resource="spring-mvc.xml"/></beans>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值