事务管理和注解整合

事务管理

事务管理器

<bean id="tx" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="druid"/>
    </bean>

额外功能

<tx:advice id="txManager" transaction-manager="tx">
        <tx:attributes>
            <!--<tx:method name="可能切入事务的方法"/>-->
            <!--<tx:method name="insertUser" isolation="DEFAULT" propagation="REQUIRED" read-only="false" rollback-for="Exception"/>-->
            <tx:method name="insertUser" rollback-for="Exception"/>
            <!-- * 剩余所有方法,name匹配是精确优先 -->
            <tx:method name="*" propagation="SUPPORTS"/>
        </tx:attributes>
    </tx:advice>
    

编织

<aop:config>
    <aop:pointcut id="po_tx" expression="execution(* com..UserServiceImpl.*(..))"/>
    <aop:advisor advice-ref="txManager" pointcut-ref="po_tx"/>
</aop:config>

注解整合

DataSource—>SqlSessionFactory–>MapperScannerConfig–>service
DataSource–>TransactionManager
service+TransactionManager=proxy

常用的注解
@service业务专用
@repository Dao专用
@Controller web层专用
@@sope 用户控制bean的创建模式
@Autowired//private UserDao userDao//继续类型为当前属性自动注入
@resource
在Impl类上写出@service中时,相当于写了一个bean标签(id为首字母小写的实现类的类名),生命一个组件
事务
@transactional注解为当前所有方法都切入事务,作用等于:

 <aop:config>
    <aop:pointcut id="po_tx" expression="execution(* com..UserServiceImpl.*(..))"/>
    <aop:advisor advice-ref="txManager" pointcut-ref="po_tx"/>
</aop:config>


```<tx:advice id="txManager" transaction-manager="tx">
        <tx:attributes>
            <!--<tx:method name="可能切入事务的方法"/>-->
            <!--<tx:method name="insertUser" isolation="DEFAULT" propagation="REQUIRED" read-only="false" rollback-for="Exception"/>-->
            <tx:method name="insertUser" rollback-for="Exception"/>
            <!-- * 剩余所有方法,name匹配是精确优先 -->
            <tx:method name="*" propagation="SUPPORTS"/>
        </tx:attributes>
    </tx:advice>
    

添加注解扫描


 <context:component-scan base-package="com.qf"/>


额外功能



 <tx:annotation-driven transaction-manager="tx"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值