beans.xml

本文介绍了一个使用Spring框架进行配置管理的示例,包括数据源、SessionFactory、事务管理器等核心组件的配置,并展示了如何通过Spring AOP实现事务管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?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">
    <!--spring 的配置要用annotation来配置 -->
	<!-- <context:annotation-config /> -->
	<!-- 按照包的方式浏览组件,自动检测组件 -->
	<context:component-scan base-package="com.derong.auction" />
	<!-- 设置来读取properties文件 -->
	<bean
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<value>classpath:jdbc.properties</value>
		</property>
	</bean>
	<!-- 数据源 -->
	<bean id="dataSource" destroy-method="close"
		class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="${jdbc.driverClassName}" />
		<property name="url" value="${jdbc.url}" />
		<property name="username" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />
		<property name="initialSize" value="${jdbc.initialSize}"/>
		<property name="maxActive" value="${jdbc.maxActive}"/>
		<property name="maxIdle" value="${jdbc.maxIdle}"/>
		<property name="minIdle" value="${jdbc.minIdle}"/>
		<property name="maxWait" value="${jdbc.maxWait}"/>
	</bean>
	<!-- 配置sessionFactory -->
	<bean id="mySessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="mappingLocations">
			<value>classpath:com/derong/auction/model/*.hbm.xml</value>
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
				<prop key="hibernate.current_session_context_class">thread</prop>
				<prop key="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</prop>
				<!-- <prop key="hibernate.show_sql">true</prop> 
				<prop key="hibernate.format_sql">true</prop>  -->
				<prop key="hibernate.hbm2ddl.auto">validate</prop>
				<prop key="hibernate.connection.SetBigStringTryClob">true</prop>
			</props>
		</property>
	</bean>
	<!-- 将sessionFactory注入到hibernateTemplate -->
	<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
		<property name="sessionFactory" ref="mySessionFactory"></property>
	</bean>
	<!-- 将hibernateTemplate注入到*daoImpl -->
	<bean id="commonDaoImpl" class="com.derong.auction.dao.impl.CommonDaoImpl">
		<property name="ht" ref="hibernateTemplate"></property>
	</bean>
	<bean id="tAdminsDaoImpl" class="com.derong.auction.dao.impl.TAdminsDaoImpl">
		<property name="ht" ref="hibernateTemplate"></property>
	</bean>
	<bean id="tAgeAmountDaoImpl" class="com.derong.auction.dao.impl.TAgeAmountDaoImpl">
		<property name="ht" ref="hibernateTemplate"></property>
	</bean>
	<bean id="tBidRecordDaoImpl" class="com.derong.auction.dao.impl.TBidRecordDaoImpl">
		<property name="ht" ref="hibernateTemplate"></property>
	</bean>
	<bean id="tChinawareDaoImpl" class="com.derong.auction.dao.impl.TChinawareDaoImpl">
		<property name="ht" ref="hibernateTemplate"></property>
	</bean>
	<bean id="tCollectionDaoImpl" class="com.derong.auction.dao.impl.TCollectionDaoImpl">
		<property name="ht" ref="hibernateTemplate"></property>
	</bean>
	<bean id="tEstimateDaoImpl" class="com.derong.auction.dao.impl.TEstimateDaoImpl">
		<property name="ht" ref="hibernateTemplate"></property>
	</bean>
	<bean id="tGoodsCommonDaoImpl" class="com.derong.auction.dao.impl.TGoodsCommonDaoImpl">
		<property name="ht" ref="hibernateTemplate"></property>
	</bean>
	<bean id="tLandDaoImpl" class="com.derong.auction.dao.impl.TLandDaoImpl">
		<property name="ht" ref="hibernateTemplate"></property>
	</bean>
	<bean id="tMemberDaoImpl" class="com.derong.auction.dao.impl.TMemberDaoImpl">
		<property name="ht" ref="hibernateTemplate"></property>
	</bean>
	<bean id="tPaintingDaoImpl" class="com.derong.auction.dao.impl.TPaintingDaoImpl">
		<property name="ht" ref="hibernateTemplate"></property>
	</bean>
	<bean id="tPictrueDaoImpl" class="com.derong.auction.dao.impl.TPictrueDaoImpl">
		<property name="ht" ref="hibernateTemplate"></property>
	</bean>
	<bean id="visitorDaoImpl" class="com.derong.auction.dao.impl.VisitorDaoImpl">
		<property name="ht" ref="hibernateTemplate"></property>
	</bean>
	<!-- 将*DaoImpl注入到*ServiceImpl -->
	<bean id="AdminServiceImpl" class="com.derong.auction.service.impl.AdminServiceImpl">
		<property name="tChinawareDao" ref="tChinawareDaoImpl"></property>
		<property name="tPaintingDao" ref="tPaintingDaoImpl"></property>
		<property name="tLandDao" ref="tLandDaoImpl"></property>
		<property name="tGoodsCommonDao" ref="tGoodsCommonDaoImpl"></property>
		<property name="tPictrueDao" ref="tPictrueDaoImpl"></property>
		<property name="tEstimateDao" ref="tEstimateDaoImpl"></property>
		<property name="tMemberDao" ref="tMemberDaoImpl"></property>
		<property name="tAgeAmountDao" ref="tAgeAmountDaoImpl"></property>
		<property name="tAdminsDao" ref="tAdminsDaoImpl"></property>
	</bean>
	<bean id="CommonServiceImpl" class="com.derong.auction.service.impl.CommonServiceImpl">
		<property name="tChinawareDao" ref="tChinawareDaoImpl"></property>
		<property name="tPaintingDao" ref="tPaintingDaoImpl"></property>
		<property name="tLandDao" ref="tLandDaoImpl"></property>
		<property name="tMemberDao" ref="tMemberDaoImpl"></property>
		<property name="tBidRecordDao" ref="tBidRecordDaoImpl"></property>
		<property name="tGoodsCommonDao" ref="tGoodsCommonDaoImpl"></property>
		<property name="tEstimateDao" ref="tEstimateDaoImpl"></property>
		<property name="commonDao" ref="commonDaoImpl"></property>
	</bean>
	<bean id="MemberServiceImpl" class="com.derong.auction.service.impl.MemberServiceImpl">
		<property name="tMemberDao" ref="tMemberDaoImpl"></property>
		<property name="tEstimateDao" ref="tEstimateDaoImpl"></property>
		<property name="tCollectionDao" ref="tCollectionDaoImpl"></property>
		<property name="tGoodsCommonDao" ref="tGoodsCommonDaoImpl"></property>
		<property name="tBidRecordDao" ref="tBidRecordDaoImpl"></property>
		<property name="tChinawareDao" ref="tChinawareDaoImpl"></property>
		<property name="tPaintingDao" ref="tPaintingDaoImpl"></property>
		<property name="tLandDao" ref="tLandDaoImpl"></property>
		<property name="commonDao" ref="commonDaoImpl"></property>
	</bean>
	<bean id="VistorServiceImpl" class="com.derong.auction.service.impl.VistorServiceImpl">
		<property name="tMemberDao" ref="tMemberDaoImpl"></property>
	</bean>
	
	
	<!-- 配置Spring定时器开始(最后添加的功能)开始 -->
	<!--配置Spring定时器   -->
	<bean id="settlementAction" class="com.derong.auction.action.SettlementAction">
		<property name="commonServiceImpl" ref="CommonServiceImpl"></property>
		<property name="adminServiceImpl" ref="AdminServiceImpl"></property>
	</bean>
	<bean id="scheduleReportTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">   
		<property name="timerTask" ref="settlementAction" />   
		<property name="period" value="3000"></property>   
	</bean>
	<bean class="org.springframework.scheduling.timer.TimerFactoryBean">   
		<property name="scheduledTimerTasks" ref="scheduleReportTask"></property>   
	</bean>
	<!-- 配置Spring定时器开始(最后添加的功能)结束 -->
	
	
	<!-- 将*ServiceImpl注入到*Action  -->
	<bean id="loginAction" class="com.derong.auction.action.LoginAction">
		<property name="commonServiceImpl" ref="CommonServiceImpl"></property>
	    <property name="memberServiceImpl" ref="MemberServiceImpl"></property>
	</bean>
	<!-- 添加scope属性是为了解决detached entity passed to persist异常的 -->
	<bean id="registerAction" class="com.derong.auction.action.RegisterAction" scope="prototype">
		<property name="vistorServiceImpl" ref="VistorServiceImpl"></property>
		<property name="commonServiceImpl" ref="CommonServiceImpl"></property>
	</bean>	
	<bean id="managerLoginAction" class="com.derong.auction.action.ManagerLoginAction">
		<property name="adminServiceImpl" ref="AdminServiceImpl"></property>
	</bean>
	<bean id="managerOperateAction" class="com.derong.auction.action.ManagerOperateAction" scope="prototype">
		<property name="adminServiceImpl" ref="AdminServiceImpl"></property>
	</bean>
	<bean id="userOperateAction" class="com.derong.auction.action.UserOperateAction" >
		<property name="memberServiceImpl" ref="MemberServiceImpl"></property>
		<property name="commonServiceImpl" ref="CommonServiceImpl"></property>
	</bean>
	<bean id="joinEvaluateAction" class="com.derong.auction.action.JoinEvaluateAction" scope="prototype">
		<property name="memberServiceImpl" ref="MemberServiceImpl"></property>
		<property name="commonServiceImpl" ref="CommonServiceImpl"></property>
	</bean>
	<bean id="searchAuctionAction" class="com.derong.auction.action.SearchAuctionAction" scope="prototype">
		<property name="commonServiceImpl" ref="CommonServiceImpl"></property>
		<property name="adminServiceImpl" ref="AdminServiceImpl"></property>
	</bean>
	<bean id="indexAction" class="com.derong.auction.action.IndexAction">
		<property name="commonServiceImpl" ref="CommonServiceImpl"></property>
	</bean>
	<bean id="auctionClassAction" class="com.derong.auction.action.AuctionClassAction">
		<property name="commonServiceImpl" ref="CommonServiceImpl"></property>
	</bean>
	<bean id="validateAction" class="com.derong.auction.action.ValidateAction">
		<property name="vistorServiceImpl" ref="VistorServiceImpl"></property>
		<property name="commonServiceImpl" ref="CommonServiceImpl"></property>
	</bean>
	
	<bean id="modifyChinaAction" class="com.derong.auction.action.ModifyChinaAction">
	 	<property name="commonServiceImpl" ref="CommonServiceImpl"></property>
	 	<property name="adminServiceImpl" ref="AdminServiceImpl"></property>
	</bean>
	
	<bean id="modifyArtistAction" class="com.derong.auction.action.ModifyArtistAction">
	 	<property name="commonServiceImpl" ref="CommonServiceImpl"></property>
	 	<property name="adminServiceImpl" ref="AdminServiceImpl"></property>
	</bean>
	
	<bean id="modifyLandAction" class="com.derong.auction.action.ModifyLandAction">
	 	<property name="commonServiceImpl" ref="CommonServiceImpl"></property>
	 	<property name="adminServiceImpl" ref="AdminServiceImpl"></property>
	</bean>
	
			<!-- 及时通知 -->
	<bean id="promptAction" class="com.derong.auction.action.PromptAction" scope="session">
	 	<property name="memberServiceImpl" ref="MemberServiceImpl"/>
	</bean>
	 
    <bean id="getChart" class="com.derong.auction.action.AgeStatisticAction">
		<property name="adminServiceImpl" ref="AdminServiceImpl"></property>
	</bean>
	 	
	<!-- jfreechart 配置开始 -->
	<!-- jfreechart 配置结束 -->
	
	<!-- 	验证码配置开始 -->
	<!-- 	验证码配置结束  -->
	
	<!-- 配置HibernateTransactionManager,并且将sessionfactory注入到myTxManager -->
	<bean id="myTxManager"
		class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="mySessionFactory" />
	</bean>
	<!-- 建立切面逻辑,逻辑由hibernateTransactionManager来实现 -->
	<tx:advice id="txAdvice" transaction-manager="myTxManager">
		<tx:attributes>
			<!-- <tx:method name="get*" read-only="true" /> -->
			<tx:method name="*" />
		</tx:attributes>
	</tx:advice>
	<!-- 建立切面和切面逻辑的(advisor)映射 -->
	<aop:config>
		<aop:pointcut id="businessService"
			expression="execution(public * com.derong.auction.service..*.*(..))" />
		<aop:advisor advice-ref="txAdvice" pointcut-ref="businessService" />
	</aop:config>

</beans>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值