一、概括:
1、激活bean(service層)
2壮池、配置數(shù)據(jù)源
3偏瓤、配置事務管理器
4、配置Mybatis工廠(同時加載mybatis核心配置文件)
5椰憋、配置mapper文件
二厅克、詳細說明
1、激活bean(service層)
<context:annotation-config />? ? ? ? 用于激活注冊過的bean
<context:component-scan base-package="" />? 用于掃描并激活指定包下的bean
2橙依、配置數(shù)據(jù)源
<context:property-placeholder location="classpath:db.properties"/>? ? 找到配置數(shù)據(jù)庫的文件(分離出來易于后期維護)
<bean id="dataSource"
? ? ? ? class="org.apache.commons.dbcp2.BasicDataSource">
? ? ? ? <!--數(shù)據(jù)庫驅動 -->
? ? ? ? <property name="driverClassName" value="${jdbc.driver}" />
? ? ? ? <!--連接數(shù)據(jù)庫的url -->
? ? ? ? <property name="url" value="${jdbc.url}" />
? ? ? ? <!--連接數(shù)據(jù)庫的用戶名 -->
? ? ? ? <property name="username" value="${jdbc.username}" />
? ? ? ? <!--連接數(shù)據(jù)庫的密碼 -->
? ? ? ? <property name="password" value="${jdbc.password}" />
? ? ? ? <!--最大連接數(shù) -->
? ? ? ? <property name="maxTotal" value="${jdbc.maxTotal}" />
? ? ? ? <!--最大空閑連接? -->
? ? ? ? <property name="maxIdle" value="${jdbc.maxIdle}" />
? ? ? ? <!--初始化連接數(shù)? -->
? ? ? ? <property name="initialSize" value="${jdbc.initialSize}" />
</bean>
注意:在db.properties文件中证舟,配置數(shù)據(jù)源的屬性名必須加上jdbc.前綴(或其他前綴),否則會產(chǎn)生沖突窗骑。
3女责、配置事務管理器(聲明式事務管理)
<bean id="transactionManager" class=
"org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- 數(shù)據(jù)源 -->
????<property name="dataSource" ref="dataSource" />
</bean>
<!-- 通知 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
????<tx:attributes>
????????<!-- propagation傳播行為,name是事務屬性關聯(lián)的方法名 -->
????????<tx:method name="save*" propagation="REQUIRED" />
????????<tx:method name="insert*" propagation="REQUIRED" />
????????<tx:method name="add*" propagation="REQUIRED" />
????????<tx:method name="create*" propagation="REQUIRED" />
????????<tx:method name="delete*" propagation="REQUIRED" />
????????<tx:method name="update*" propagation="REQUIRED" />
????????<tx:method name="find*" propagation="SUPPORTS"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? read-only="true" />
????????<tx:method name="select*" propagation="SUPPORTS"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? read-only="true" />
????????<tx:method name="get*" propagation="SUPPORTS"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? read-only="true" />
? ? ? ? ?</tx:attributes>
</tx:advice>
<!-- 切面 -->
<aop:config>
????<aop:advisor advice-ref="txAdvice"? ? ?pointcut="execution(* com.core.service.*.*(..))" />
</aop:config>
4创译、配置Mybatis工廠
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
? ? <!-- 數(shù)據(jù)源 -->
????<property name="dataSource" ref="dataSource" />
????<!-- 配置MyBatis的核心配置文件所在位置 -->
????<property name="configLocation"? value="classpath:mybatis-config.xml" />
</bean>
5抵知、配置mapper文件(將mapper.xml和其接口文件放在同一個文件夾下,dao層)
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
????????<property name="basePackage" value="com.core.dao" />
</bean>