Spring学习笔记(二)

事物管理
1)Spring在不同的事物管理API之上定义了一个抽象层,程序开发人员不需要了解底层的事物管理API,就可以使用Spring的事物管理机制。
2)Spring支持编程式事务管理,也支持声明式的事务管理。
编程式事务管理:将事务管理代码嵌入到业务方法中来控制事务的提交和回滚,在编程式管理事务时,必须在每个事务操作中包含额外的事物管理代码。
声明式事务管理:大多数情况下比编程式事务管理更好用,将事务管理代码从业务方法中分离出来,以声明的方式来实现事务管理。事务管理作为一种横切关注点,可以通过AOP方法模块化。Spring通过Spring AOP 框架支持声明式事务管理。

事物管理器
1)Spring从不同的事务管理API中抽象出一整套完整的事务机制。开发人员不必了解底层的事务API,就可以利用这些事务机制,有了这些事务机制,事务管理代码就可以独立于特定的事务技术了。
2)Spring核心事务管理抽象是 interface Platform TransactionManagement管理封装了一组独立于技术的方法.无论使用Spring的哪种事务管理策略(编程式或声明式),事务管理器是必须的。

Spring支持的事务传播行为
1)required:如果有事务在运行,当前的方法就在这个事务内运行,否则就启动一个新的事务,并在自己的事务内运行。
2)required_NEW: 当前的方法必须启动新事务,并在它自己的事务内运行,如果有事务正在运行,应该挂起。
3)supports:如果有事务在运行。当前的方法就在事务内运行,否则它可以不运行在事务中。
4)not_supproted:当前的方法不应该运行在事务中,如果有运行的事务停止。
5)mandatory:当前的方法必须运行在事务内部,如果没有正在运行的事务,则抛出异常
6)never:当前的方法不应该运行在事务中,如果有运行的事务,则抛出异常。
7)nested:如果有事务在运行,当前的方法就应该在这个事务的嵌套事务内运行,否则就启动一个新的事务,并在它自己的事务内运行。

整合Hibernate
依赖的包:commons-dbcp、commons-pool

这里写图片描述

<!--配置数据源-->
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/hibernate"/>
    <property name="username" value="root"/>
    <property name="password" value="dist888"/>
</bean>
<!--配置sessionFactory-->
<bean id="mySessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">//hibernatex表示支持的hibernate版本
    <property name="dataSource" ref="myDataSource"/>
    <property name="mappingResources">
      <list>
        <value>/com/po/Person.hbm.xml</value>
      </list>
    </property>
    <property name="hibernateProperties">//对hibernate的配置项
      <value>
        hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
        current_session_context_class=thread
        show_sql=true
        formart_sql=true
      </value>
    </property>
  </bean>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值