Spring学习笔记 - 第004天

Spring整合Hibernate

配置数据库连接池
    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/hib?useUnicode&characterEncoding=utf8"/>
        <property name="username" value="root"/>
        <property name="password" value="123456"/>
        <property name="initialSize" value="10" />
        <property name="maxTotal" value="50" /> 
        <property name="maxWaitMillis" value="10000" /> 
    </bean>
配置sessionFactory

通过Spring的IoC容器来管理Hibernate的SessionFactory
同时将SessionFactory注入到Dao实现类和事务管理器中

    <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="annotatedClasses">
            <list>
                <value>com.kygo.entity.User</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <value>
                hibernate.dialect=org.hibernate.dialect.MySQLDialect
                hibernate.show_sql=true
                hibernate.format_sql=true
                hibernate.hbm2ddl=update
            </value>
        </property> 
    </bean>
配置transactionManager事务管理

让Spring通过AOP来处理事务(横切关注功能)

    <bean id="transactionManager"
            class="org.springframework.orm.hibernate5.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>

    <tx:annotation-driven />
tx:annotation-driven

<tx:annotation-driven/> 就是支持事务注解的(@Transactional)

default-autowire="byType

加入这个xml里面的bean依赖可以自动装配

配置事务切面

配置事务增强(包围型增强)定义切面执行的时机

    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="*" propagation="REQUIRED"/>
        </tx:attributes>
    </tx:advice>

配置切面通过切点表达式定义切面执行的位置

    <aop:config>
        <aop:advisor advice-ref="txAdvice" 
            pointcut="execution(* com.kygo.biz.impl.*.*(..))"/>
    </aop:config>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这部分的参考文档涉及数据访问和数据访问层和业务或服务层之间的交互。 Spring的综合事务管理支持覆盖很多细节,然...
    竹天亮阅读 1,060评论 0 0
  • 这部分主要是开源Java EE框架方面的内容,包括Hibernate、MyBatis、Spring、Spring ...
    杂货铺老板阅读 1,463评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,156评论 19 139
  • spring官方文档:http://docs.spring.io/spring/docs/current/spri...
    牛马风情阅读 1,768评论 0 3
  • 什么是闭包? 先看一段代码: 简单吧。再来看一段代码: 简单吧。 什么是闭包?这就是闭包! 有权访问另一个函数作用...
    无人像妳i阅读 421评论 0 2