在spring的配置文件里配置数据源、ORM映射、声明事件管理
2012-11-03 17:10
519 查看
<!-- 这个是数据源 -->
<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://127.0.0.1:3306/database" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mappingResources">
<list>
<!-- 这里是实体对象的映射文件在这里配置 -->
<value>com/jask/common/bean/TbArticle.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<!--
将dataSource注入 简化Hibernate数据访问代码的辅助类
最重要execute方法支持实现了HibernateCallback接口的Hibernate访问代码。
无论是HibernateCallback接口实现或者其他的调用代码,无需关心对Session对象的获取和关闭以及Session对象的生命期异常。
对典型的单步骤调用,提供了多种便利方法(find, load, saveOrUpdate, delete)
-->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- AOP 面向切面 -->
<aop:config>
<aop:pointcut id="bussinessService" expression="execution(public * com.jask.service..*.*(..))" />
<aop:advisor pointcut-ref="bussinessService" advice-ref="txAdvice" />
</aop:config>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="exists" read-only="true" />
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="del*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="modify*" propagation="REQUIRED" />
<tx:method name="find*" propagation="REQUIRED" />
<tx:method name="get*" propagation="REQUIRED" />
<tx:method name="*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://127.0.0.1:3306/database" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mappingResources">
<list>
<!-- 这里是实体对象的映射文件在这里配置 -->
<value>com/jask/common/bean/TbArticle.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<!--
将dataSource注入 简化Hibernate数据访问代码的辅助类
最重要execute方法支持实现了HibernateCallback接口的Hibernate访问代码。
无论是HibernateCallback接口实现或者其他的调用代码,无需关心对Session对象的获取和关闭以及Session对象的生命期异常。
对典型的单步骤调用,提供了多种便利方法(find, load, saveOrUpdate, delete)
-->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- AOP 面向切面 -->
<aop:config>
<aop:pointcut id="bussinessService" expression="execution(public * com.jask.service..*.*(..))" />
<aop:advisor pointcut-ref="bussinessService" advice-ref="txAdvice" />
</aop:config>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="exists" read-only="true" />
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="del*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="modify*" propagation="REQUIRED" />
<tx:method name="find*" propagation="REQUIRED" />
<tx:method name="get*" propagation="REQUIRED" />
<tx:method name="*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
相关文章推荐
- 用Spring管理Hibernate连接多个数据源配置文件
- 基于maven管理的项目中spring+mybatis配置数据源读取不到properties属性文件的问题
- Mybatis在非spring环境下配置文件中使用外部数据源(druidDatasource)
- 系统启动时,spring配置文件解析失败,报”cvc-elt.1: 找不到元素 'beans' 的声明“异常
- 在Spring的xml文件中配置数据源主要代码
- spring hibernate整合时配置文件的事务部分(spring管理事务)
- Spring, MyBatis 多数据源的配置和管理
- Spring3.0配置多个事务管理器(即操作多个数据源)的方法
- 第32天(就业班) hibernate框架概述、ORM概念、hibernate第一个实例、api讲解、查询方式、主配置文件、映射配置、主键映射
- 8 -- 深入使用Spring -- 4...6 AOP代理:基于注解的XML配置文件的管理方式
- spring数据源配置及事务管理--hibernate4
- Spring-Boot初学之配置文件application.properties(数据源配置)
- Spring, MyBatis 多数据源的配置和管理
- MyBatis Spring整合配置映射接口类与映射xml文件
- Spring的配置文件找不到元素 'beans' 的声明
- 系统启动时,spring配置文件解析失败,报”cvc-elt.1: 找不到元素 'beans' 的声明“异常
- Spring 编程式事务管理xml文件配置问题org.springframework.beans.NotWritablePropertyException: Invalid property
- Myeclipse自动生成Hibernate配置文件及实体类映射ORM
- Spring学习文档_管理数据源,以及配置Hibernate关系
- spring 剑走偏锋 mappingDirectoryLocations来配置Hibernate映射文件