1. 程式人生 > 實用技巧 >SpringMVC-08-整合SSM之Spring層編寫

SpringMVC-08-整合SSM之Spring層編寫

Spring層編寫

  1. 配置Spring整合Mybatis,這裡我們資料來源使用c3p0連線池;

  2. 編寫Spring整合Mybatis的相關配置檔案:spring-dao.xml

    • 關聯資料庫配置檔案

      <!--1. 關聯資料庫配置檔案-->
      <context:property-placeholder location="classpath:database.properties"/>
      
    • 連線池

      <!--2. 連線池
          dbcp:半自動化操作 不能自動連線
          c3p0:自動化操作,自動化的載入配置檔案,並且可以自動設定到物件中
          driud:
          hikari:
      -->
      <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"/>
          <!--關閉連線後不自動提交-->
          <property name="autoCommitOnClose" value="false"/>
          <!--獲取連線超時時間-->
          <property name="checkoutTimeout" value="10000"/>
          <!--當獲取連線失敗後重試次數-->
          <property name="acquireRetryAttempts" value="2"/>
      </bean>
      
    • sqlSessionFactory

      <!--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>
      
    • 配置dao介面掃描包【新知識】

      <!--4.配置dao介面掃描包,動態的實現了dao介面注入到spring容器中-->
      <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
          <!--注入sqlSessionFactory-->
          <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
          <!--掃描的dao包-->
          <property name="basePackage" value="com.kuang.dao"/>
      </bean>
      
  3. Spring整合service層

    • 掃描service下的包

      <!--1. 掃描service下的包-->
      <context:component-scan base-package="com.kuang.service"/>
      
    • 所有業務類注入spring

      <bean id="BookServiceImpl" class="com.kuang.service.BookServiceImpl">
          <property name="bookMapper" ref="bookMapper"/>
      </bean>
      
    • 宣告式事務配置

      <!--3. 宣告式事務配置-->
      <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
          <!--注入資料來源-->
          <property name="dataSource" ref="dataSource"/>
      </bean>
      
    • aop事務支援

      暫無。