用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字

hr2812    -  云代码空间

——

Spring整合Hibernate配置文件

2017-10-30|802阅||

摘要:<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/200

<?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:tx="http://www.springframework.org/schema/tx"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="
	http://www.springframework.org/schema/beans 
	http://www.springframework.org/schema/beans/spring-beans.xsd
	http://www.springframework.org/schema/context 
	http://www.springframework.org/schema/context/spring-context.xsd
	http://www.springframework.org/schema/tx 
	http://www.springframework.org/schema/tx/spring-tx.xsd
	http://www.springframework.org/schema/aop 
	http://www.springframework.org/schema/aop/spring-aop.xsd">

<!-- 项配置基本项、公共部分 -->

<!-- 1.加载数据库配置文件 -->
<context:property-placeholder location="classpath:jdbc.properties"/>

<!-- 2.创建数据源(C3P0的类) -->
	<bean id="dataSourse" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="driverClass" value="${jdbc.driver}"></property>
		<property name="jdbcUrl" value="${jdbc.url}"></property>
		<property name="user" value="${jdbc.user}"></property>
		<property name="password" value="${jdbc.pwd}"></property>
		
		
		 <!--连接池中保留的最小连接数。-->    
		        <property name="minPoolSize">    
		            <value>5</value>    
		        </property>    
		     
		 <!--连接池中保留的最大连接数。Default: 15 -->    
		        <property name="maxPoolSize">    
		            <value>30</value>    
		        </property>    
		     
		<!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->    
		        <property name="initialPoolSize">    
		            <value>10</value>    
		        </property>    
		     
		 <!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->    
		        <property name="maxIdleTime">    
		            <value>60</value>    
		        </property>    
		     
		 <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->    
		        <property name="acquireIncrement">    
		            <value>5</value>    
		        </property> 
		
		
		 <!--每60秒检查所有连接池中的空闲连接。Default: 0 -->    
        <property name="idleConnectionTestPeriod">    
            <value>60</value>    
        </property> 
		
		 <!--获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效    
			  保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试    
			  获取连接失败后该数据源将申明已断开并永久关闭。Default: false-->    
        <property name="breakAfterAcquireFailure">    
            <value>true</value>    
        </property>
        
         <!--因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的    
			  时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable    
			  等方法来提升连接测试的性能。Default: false -->    
        <property name="testConnectionOnCheckout">    
            <value>false</value>    
        </property> 
	</bean>
<!-- 3.配置sessionFactory -->
	
	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource" ref="dataSourse"></property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
				<prop key="hibernate.show_sql">true</prop>
				<prop key="hibernate.format_sql">true</prop>
				
				<prop key="connection.autoReconnect">true</prop>
				<prop key="connection.autoReconnectForPools">true</prop>
				<prop key="connection.is-connection-validation-required">true</prop>
			</props>
		</property>
		<property name="mappingLocations" value="classpath:cn/hr2812/blog/*/domain/*.hbm.xml"></property>
	</bean>

<!-- 4.事务配置 -->
<!-- 4.1事务管理器 -->

	<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<!-- 4.2事务详情 -->
	<tx:advice id="txAdvice" transaction-manager="txManager">
		<tx:attributes>
			<tx:method name="find*"/>
			<tx:method name="login"/>
			<tx:method name="add*"/>
			<tx:method name="addTopic"/>
			<tx:method name="save*"/>
			<tx:method name="update*"/>
			<tx:method name="register*"/>
			<tx:method name="delete*"/>
		</tx:attributes>
	</tx:advice>
	
	<!-- 4.3aop编程 -->
	<aop:config>
		<aop:advisor advice-ref="txAdvice" pointcut="execution(* cn.hr2812.blog.*.service.impl.*(..))"/>
	</aop:config>
	
	<!-- 5.引入其他的.xml文件 -->
	<import resource="applicationContext-topic.xml"/>
	<import resource="applicationContext-category.xml"/>
	<import resource="applicationContext-user.xml"/>
</beans>












顶 0踩 0收藏
文章评论
    发表评论

    个人资料

    • 昵称: hr2812
    • 等级: 中级程序员
    • 积分: 106
    • 代码: 0 个
    • 文章: 2 篇
    • 随想: 0 条
    • 访问: 1 次
    • 关注

    人气代码

      最新提问

        站长推荐