spring基于注解形式配置事物

来源:互联网 发布:哪个软件可以群发短信 编辑:程序博客网 时间:2024/06/11 17:39
<!--事务管理器 -->      <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">              <property name="dataSource" ref="dataSource" />      </bean>      <!-- 使用全注释事务 -->      <tx:annotation-driven transaction-manager="transactionManager" />

或者

<!-- 启用注释管理事务注释风格. --><tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" /><!--声明一个事务管理器. --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"p:dataSource-ref="dataSource" />

数据源

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"          destroy-method="close">          <property name="driverClassName" value="${jdbc_driver}" />          <property name="url" value="${jdbc_url}" />          <property name="username" value="${jdbc_username}" />          <property name="password" value="${jdbc_password}" />          <!-- 初始化连接大小 -->          <property name="initialSize" value="${jdbc_initialSize}"></property>          <!-- 连接池最大数量 -->          <property name="maxActive" value="${jdbc_maxActive}"></property>          <!-- 连接池最大空闲 -->          <property name="maxIdle" value="${jdbc_maxIdle}"></property>          <!-- 连接池最小空闲 -->          <property name="minIdle" value="${jdbc_minIdle}"></property>          <!-- 获取连接最大等待时间 -->          <property name="maxWait" value="${jdbc_maxWait}"></property>      </bean> 

注意:proxy-target-class属性值决定是基于接口的还是基于类的代理被创建。如果proxy-target-class 属性值被设置为true,那么基于类的代理将起作用(这时需要cglib库)。如果proxy-target-class属值被设置为false或者这个属性被省略,那么标准的JDK 基于接口的代理将起作用。

即使你未声明 proxy-target-class="true" ,但运行类没有继承接口,spring也会自动使用CGLIB代理。

高版本spring自动根据运行类选择 JDK 或 CGLIB 代理



阅读全文
0 0