1 pooledDataSource代码

<bean id="pooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
<property name="driverClass" value="${jdbc.driverclass}"></property>
<property name="user" value="${jdbc.user}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>

上面的class里面的ComboPooledDataSource存储数据源接口池

对链接数据库的一些信息的存储 将我们的值直接存储到数据源里

2 sqlsessionfactory

<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--指定mybatis全局配置文件的位置 -->
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
<property name="dataSource" ref="pooledDataSource"></property>
<!-- 指定Mybatis.mapper文件的位置-->
<property name="mapperLocations" value="classpath:mapper/*.xml"></property>
</bean>

上面的clalss里的sqlSessionFactoryBean 继承了FactoryBean接口

在FactoryBean中调用getObject方法还是生成的FactroyBean的对象 说明最终创建的还是bean本身

3 transactionManager

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- 控制住数据源 -->
<property name="dataSource" ref="pooledDataSource"></property><!--  数据源的bean-->
</bean> 

Spring在jdbc中提供了一个事务管理组件:org.springframework.jdbc.datasource.DataSourceTransactionManager

4 MapperScannerConfigurer

<!--配置扫描器将Mybatis接口的实现加入到ioc容器 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 扫描所有的dao接口的实现 加入到ioc容器中 -->
<property name="basePackage" value="com.atguigu.crud.dao"></property>
</bean>

spring跟Mybatis整合提供的一个类 

<!-- 开启基于注解的事务 使用xml配置形式的事务 -->
<aop:config>
<aop:pointcut expression="execution(* com.atguigu.crud.service..*(..))" id="txPoint"/>
<!-- 配置事物增强 -->
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint"/>
</aop:config>
<!--配置事务 事物如何切入 -->
<tx:advice id="txAdvice">
<tx:attributes>
<!--切入点切入的所有方法都是事务方法 -->
<tx:method name="*"/>
<tx:method name="get" read-only="true"/>
</tx:attributes>
</tx:advice>

 哪些方法控制事务 每个方法怎么办看事务增强的配置