<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 定义数据源Bean,使用C3P0数据源实现 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <!-- 指定连接数据库的驱动 --> <property name="driverClass" value="oracle.jdbc.driver.OracleDriver" /> <!-- 指定连接数据库的URL --> <property name="jdbcUrl" value="jdbc:oracle:thin:@192.168.1.102:1521:orcl" /> <!-- 指定连接数据库的用户名 --> <property name="user" value="sys as sysdba" /> <!-- 指定连接数据库的密码 --> <property name="password" value="wxp362387" /> <!-- 指定连接数据库连接池的最大连接数 --> <property name="maxPoolSize" value="40" /> <!-- 指定连接数据库连接池的最小连接数 --> <property name="minPoolSize" value="10" /> <!-- 指定连接数据库连接池的初始化连接数 --> <property name="initialPoolSize" value="10" /> <!-- 指定连接数据库连接池的连接的最大空闲时间 --> <property name="maxIdleTime" value="20" /> </bean> <!--定义了Hibernate的SessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- 配置Hibernate的参数 --> <property name="hibernateProperties"> <props> <!-- 指定数据库的方言 --> <prop key="hibernate.dialect"> org.hibernate.dialect.Oracle9Dialect </prop> <prop key="show_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> <!-- JDBC执行批量更新语句的大小 --> <prop key="hibernate.jdbc.batch_size">20</prop> </props> </property> <property name="mappingResources"> <!-- 映射的文件 --> <list> <value>XXXX.hbm.xml</value> </list> </property> </bean> <!-- 配置事务管理器Bean,因为使用Hibernate持久化技术,故使用HibernateTranscationManager 事务管理器 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <!--为事务管理器注入SessionFactory 引用 --> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 配置事务拦截器Bean --> <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> <!-- 事务拦截器bean需要依赖注入一个事务管理器 --> <property name="transactionManager" ref="transactionManager" /> <property name="transactionAttributes"> <!-- 下面定义事务传播属性--> <props> <prop key="save*">PROPAGATION_REQUIRED</prop> <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop> <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop> <prop key="*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> <!-- 定义BeanNameAutoProxyCreator 后处理器 ,BeanNameAutoProxyCreator为名字匹配字符串或者通配符的bean自动创建AOP代理。--> <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <!-- 指定对满足哪些bean name的bean自动生成业务代理 --> <property name="beanNames"> <!-- 下面是所有需要自动创建事务代理的bean--> <list> <value>*Dao</value> <value>*Imp</value> </list> <!-- 此处可增加其他需要自动创建事务代理的bean--> </property> <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器--> <property name="interceptorNames"> <list> <!-- 此处可增加其他新的Interceptor --> <value>transactionInterceptor</value> </list> </property> </bean> <!-- 配置系统DAO组件 --> <bean id="xxxxDao" class="org.boss.dao.XxxxDaoHibernate"> <!-- 依赖注入DAO组件所必需的SessionFactory引用 --> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <!-- 配置系统的业务逻辑组件 --> <bean id="xxxxImp" class="org.boss.service. XxxxManagerImp"> <property name="xxxxDao" ref="xxxxDao"></property> </bean> </beans>