applicationContext.xml

本文详细介绍了如何使用Spring框架和Hibernate进行数据库连接池配置及事务管理,包括数据源初始化、连接池参数设置、SessionFactory创建、事务属性配置等关键步骤,确保应用程序高效稳定地与数据库交互。
<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" 
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" 
xsi:schemaLocation="http://www.springframework.org/schema/beans 
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd 
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd 
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> 
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"  destroy-method="close"> 
<property name="driverClassName" value="com.mysql.jdbc.Driver"> 
</property> 
<property name="url" value="jdbc:mysql://localhost:3306/HUIKE"> 
</property> 
<property name="username" value="root"></property> 
<property name="password" value="rootcode"></property> 

<!-- start 江明 优化连接池 --> 
<!-- 连接池启动时的初始值 --> 
<property name="initialSize" value="1" /> 
<!-- 连接池的最大值 --> 
<property name="maxActive" value="500" /> 
<!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 --> 
<property name="maxIdle" value="2" /> 
<!--  最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 --> 
<property name="minIdle" value="1" /> 
<!-- end --> 
</bean> 


<bean id="logListener" class="com.huike.hidp.system.log.LogListener"></bean> 
<bean id="sessionFactory" 
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
<property name="dataSource"> 
<ref bean="dataSource" /> 
</property> 
<property name="eventListeners"> 
<map> 
<entry key="post-commit-update"> 
<ref bean="logListener" /> 
</entry> 
<entry key="post-commit-insert"> 
<ref bean="logListener" /> 
</entry> 
<entry key="post-commit-delete"> 
<ref bean="logListener" /> 
</entry> 
</map> 
</property> 



<property name="hibernateProperties"> 
<props> 
<prop key="hibernate.hbm2ddl.auto">update</prop> <!-- 首次布署项目时才须执行  --> 
<prop key="hibernate.dialect"> 
org.hibernate.dialect.MySQLInnoDBDialect 
</prop> 
<prop key="hibernate.show_sql">true</prop>    <!-- 显示SQL语句  --> 
<prop key="hibernate.format_sql">true</prop> 
</props> 
</property> 
<property name="mappingResources"> 
<list> 
<!-- Start eric zhang 新增桌面设计表 --> 
<value>com/huike/hidp/system/homepage/vo/Desktopsetup.hbm.xml</value> 
<!-- End  --> 
<value> 
com/huike/hidp/system/homepage/vo/Usermenu.hbm.xml 
</value> 
<value> 
com/huike/hidp/system/logon/vo/User.hbm.xml 
</value> 
<value> 
com/huike/hidp/basedata/system/vo/Sex.hbm.xml 
</value> 
<value> 
com/huike/hidp/basedata/system/vo/Job.hbm.xml 
</value> 
<value> 
com/huike/hidp/basedata/system/vo/Jobtitle.hbm.xml 
</value> 
<value> 
com/huike/hidp/basedata/system/vo/Knowledge.hbm.xml 
</value> 
<value> 
com/huike/hidp/basedata/system/vo/Marriage.hbm.xml 
</value> 
<value> 
com/huike/hidp/basedata/system/vo/National.hbm.xml 
</value> 
<value> 
com/huike/hidp/basedata/system/vo/Polity.hbm.xml 
</value> 
<value> 
com/huike/hidp/system/log/vo/Systemlog.hbm.xml 
</value> 
<value> 
com/huike/hidp/system/organization/unit/vo/Unit.hbm.xml 
</value> 
<value> 
com/huike/hidp/system/organization/job/vo/UnitJob.hbm.xml 
</value> 
<value> 
com/huike/hidp/system/organization/job/vo/UserJob.hbm.xml 
</value> 
<value> 
com/huike/hidp/system/organization/unitdeparement/vo/UnitDepartment.hbm.xml 
</value> 
<value> 
com/huike/hidp/system/organization/unitdeparement/vo/UserUnitDepartment.hbm.xml 
</value> 
<value> 
com/huike/hidp/system/organization/position/vo/UnitPosition.hbm.xml 
</value> 
<value> 
com/huike/hidp/system/organization/position/vo/UserUnitPosition.hbm.xml 
</value> 
<value> 
com/huike/hidp/message/innersm/vo/Innersm.hbm.xml 
</value> 
<value> 
com/huike/hidp/basedata/system/vo/Position.hbm.xml 
</value> 
<value> 
com/huike/hidp/system/privilege/user/vo/UnitUser.hbm.xml 
</value> 
<value> 
com/huike/hidp/system/privilege/resource/vo/Resource.hbm.xml 
</value> 
<value> 
com/huike/hidp/system/privilege/role/vo/Role.hbm.xml 
</value> 
<value> 
com/huike/hidp/system/privilege/role/vo/UnitRole.hbm.xml 
</value> 
<value> 
com/huike/hidp/system/privilege/role/vo/UserRole.hbm.xml 
</value> 
<value> 
com/huike/hidp/system/privilege/resoperation/vo/Resoperation.hbm.xml 
</value> 
<value> 
com/huike/hidp/system/privilege/role/vo/RoleResource.hbm.xml 
</value> 
<!-- start 李永春  邮件管理--> 
<value> 
com/huike/hidp/message/mail/vo/Mail.hbm.xml 
</value> 
<value> 
com/huike/hidp/message/mail/vo/MailAttch.hbm.xml 
</value> 
<value> 
com/huike/hidp/message/mail/vo/MailCapacity.hbm.xml 
</value> 
<value> 
com/huike/hidp/message/mail/vo/MailContact.hbm.xml 
</value> 
<value> 
com/huike/hidp/message/mail/vo/MailDirectory.hbm.xml 
</value> 
<value> 
com/huike/hidp/message/mail/vo/MailInfo.hbm.xml 
</value> 
<value> 
com/huike/hidp/message/mail/vo/Pop3Mailsetup.hbm.xml 
</value> 
<value> 
com/huike/hidp/message/mail/vo/MailUser.hbm.xml 
</value> 
<!-- end --> 

<value> 
com/huike/hidp/system/address/vo/CardcaseGroupDet.hbm.xml 
</value> 
<value> 
com/huike/hidp/system/address/vo/CardcaseGroupMas.hbm.xml 
</value> 
<!-- start 江明  工作流管理--> 
<value>jbpm.repository.hbm.xml</value> 
<value>jbpm.execution.hbm.xml</value> 
<value>jbpm.history.hbm.xml</value> 
<value>jbpm.task.hbm.xml</value> 
<value>jbpm.identity.hbm.xml</value> 
<value>com/huike/hidp/system/workflow/vo/ProcessState.hbm.xml</value> 
<!-- end --> 

</list> 
</property> 
</bean> 
<!-- start 江明  配置事务 --> 
<!-- 配置事务管理器 --> 
<bean id="transactionManager" 
class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
<property name="sessionFactory"> 
<ref bean="sessionFactory" /> 
</property> 
</bean> 

<!-- 配置事务的传播特性 --> 
<tx:advice id="txAdvice" transaction-manager="transactionManager"> 
<tx:attributes> 
<tx:method name="get*" read-only="true"/> 
<tx:method name="set*" read-only="true"/> 
<tx:method name="*" propagation="REQUIRED"/> 
</tx:attributes> 
</tx:advice> 


<!-- 那些类的哪些方法参与事务 --> 
<aop:config> 
<aop:pointcut id="allManagerMethod" 
expression="execution(* com.huike..*.impl..*.*(..))" /> 
<aop:advisor pointcut-ref="allManagerMethod" 
advice-ref="txAdvice" /> 
</aop:config>
<!-- end --> 
</beans>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值