1.引入外部配置文件
<context:property-placeholder location="classpath:db.properties" />
2.注册数据源
<bean id="dataSource class="org.apache.commons.dbcp.BasicDataSource">
<property name="" value="" />
<property name="" value="" />
<property name="" value="" />
<property name="" value="" />
</bean>
3.注册SessionFactory、mapper路径、实体类别名
<bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" value="classpath:*/*/*/mappers/*.xml" />
<property name="typeAliasesPackage" value="com.**.beans />
</bean>
4.配置扫描dao接口
<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.**.dao" />
<property name="sqlSessionFactoryBeanName" value="sessionFactory" />
</bean>
5.注册事务管理器
<bean id="transactionManager" class="org.springframework.jdbc.dataSource.DataSourceTransactionManager">
<property name="dataSource" value="dataSource" />
</bean>
6.开启事务
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="get*" isolation="DEFAULT" propagation="REQUIRED" read-only="true"/>
<tx:method name="add*" />
<tx:method name="remove*" />
</tx:attributes>
</tx:advice>
7.注册AOP通知 指定切入点和事务
<aop:config>
<aop:pointcut exression="execution(* service..*.*(..))" id="pc"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref=pc" />
</aop:config>
8.注册其他自定义bean
<bean id="userService" class="com.**.service.UserServiceImpl">
<property name="userDao" ref="userDao"/>
</bean>
...