spring事务管理(基于AOP)
引入依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>~
<!-- springAOP:依赖 -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.7</version>
</dependency>~
<!-- Spring事务控制 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>~
配置文件
<!--c3p0数据源的 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"></property>
<property name="jdbcUrl" value="${jdbc.url}"></property>
<property name="user" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>~
<!--事务管理器 -->
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- 事物存在于connection中,因此要注入连接池 -->
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 事务增强(通知) -->
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="updat*" propagation="REQUIRED" isolation="DEFAULT" />
<tx:method name="slect*" propagation="SUPPORTS" read-only="true" isolation="DEFAULT"></tx:method>
</tx:attributes>
</tx:advice>
<!--AOP配置 -->
<aop:config>
<aop:advisor advice-ref="txAdvice" pointcut="execution(* cn.itcast..*.*(..))"></aop:advisor>
</aop:config>~