导入spring jar包
本篇文章只是为了巩固之前学的知识,如果描述有误欢迎指出
<!--aop包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
<!--spring核心包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
##spring配置文件
<!--配置连接池-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${jb.driverClassName}"/>
<property name="url" value="${jb.url}"/>
<property name="password" value="${jb.username}"/>
<property name="username" value="${jb.password}"/>
</bean>
<!--配置事务-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<!--配值通知-->
<tx:advice id="transactionInterceptor" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="find*" read-only="true"/>
<tx:method name="save*" propagation="REQUIRED"/>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="*" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
<!--配置aop-->
<aop:config>
<aop:pointcut id="pointcut" expression="execution(* com.itzijin.service.*.*.*.*(..))"/>
<aop:advisor advice-ref="transactionInterceptor" pointcut-ref="pointcut"/>
</aop:config>
这样在service层就有了事务,这里需要你们自己改的就是切入点表达式了
使用注解的方式来用声明式事务
<!--配置连接池-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${jb.driverClassName}"/>
<property name="url" value="${jb.url}"/>
<property name="password" value="${jb.username}"/>
<property name="username" value="${jb.password}"/>
</bean>
<!--配置事务-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
然后在要用到事务的类上面增加一个@Transactional注解就行了,使用注解的方式看似简单,其实如果service类比较多的话需要每个类上面都加这个注解,而使用xml配置文件的话,就只需要配置一次即可,