浏览 3959 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-12-28
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <!-- 数据库连接信息 --> <bean id="DataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName"> <value>oracle.jdbc.driver.OracleDriver</value> </property> <property name="url"> <value>jdbc:oracle:thin:@172.16.20.241:1521:dbsvr</value> </property> <property name="username"> <value>hl3000</value> </property> <property name="password"> <value>hldw3101</value> </property> </bean> <bean id="SessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="DataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop> <prop key="hibernate.show_sql">true</prop> <!-- C3P0连接池配置 --> <prop key="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</prop> <prop key="hibernate.c3p0.max_size">20</prop> <prop key="hibernate.c3p0.min_size">5</prop> <prop key="hibernate.c3p0.timeout">120</prop> <prop key="hibernate.c3p0.max_statements">100</prop> <prop key="hibernate.c3p0.idle_test_period">120</prop> <prop key="hibernate.c3p0.acquire_increment">2</prop> <prop key="myeclipse.connection.profile">hl3000</prop> </props> </property> <property name="mappingResources"> <list> <value>com/hl3000/DBLogic/POJO/PermUserAccount.hbm.xml</value> </list> </property> </bean> <!-- AOP DAO Intecepter --> <bean id="hibernateInterceptor" class="org.springframework.orm.hibernate3.HibernateInterceptor"> <property name="sessionFactory"> <ref bean="SessionFactory"/> </property> </bean> <!-- 底层数据访问实现类 --> <bean id="PermUserAccountDAO" class="com.hl3000.DBLogic.DAO.Impl.PermUserAccountDAO"> <property name="sessionFactory"> <ref bean="SessionFactory" /> </property> </bean> <!-- 模块数据访问类 --> <bean id="SysmrgAccessTarget" class="com.hl3000.DBLogic.Impl.SysmrgAccess"> <property name="permUserAccountDAO"> <ref bean="PermUserAccountDAO" /> </property> </bean> <!-- 模块数据访问接口 --> <bean id="SysmrgAccess" class="org.springframework.aop.framework.ProxyFactoryBean"> <property name="proxyInterfaces"> <value>com.hl3000.DBLogic.ISysmrgAccess</value> </property> <property name="interceptorNames"> <list> <value>hibernateInterceptor</value> <value>SysmrgAccessTarget</value> </list> </property> </bean> <!-- Action --> <bean name="/sysMngTree" class="com.hl3000.struts.action.SysMngTreeAction" singleton="false"> <property name="sysmrgAccess"> <ref bean="SysmrgAccess" /> </property> </bean> <bean name="/sysMasterList" class="com.hl3000.struts.action.SysMasterListAction"> <property name="sysmrgAccess"> <ref bean="SysmrgAccess" /> </property> </bean> <bean name="/userInfo" class="com.hl3000.struts.action.UserInfoAction"> <property name="sysmrgAccess"> <ref bean="SysmrgAccess" /> </property> </bean> </beans> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-12-28
还有事务管理,具体不是很懂
<bean id="studentManager" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="myTransactionManager"/> </property> <property name="target"> <ref bean="studentManagerTarget"/> </property> <property name="transactionAttributes"> <props> <prop key="save*">PROPAGATION_REQUIRED</prop> <prop key="remove*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="create*">PROPAGATION_REQUIRED</prop> <prop key="*">PROPAGATION_REQUIRED,readOnly</prop> </props> </property> </bean> <prop key="save*">PROPAGATION_REQUIRED</prop> <prop key="remove*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="create*">PROPAGATION_REQUIRED</prop> <prop key="*">PROPAGATION_REQUIRED,readOnly</prop> 这两句如何理解呢? |
|
返回顶楼 | |
发表时间:2007-01-05
PROPAGATION_REQUIRED等效于TX_REQUIRED,
而PROPAGATION_REQUIRES_NEW等效于EJB中的TX_REQUIRES_NEW。 如果我们想让服务方法始终在事务中运行,我们可以使用PROPAGATION_REQUIRED。 当使用PROPAGATION_REQUIRED时,如果已经运行了一个TX,bean方法就会加入到该TX中; 否则的话,Spring的轻量级TX管理器就会启动一个TX。 如果在调用组件服务时我们总是希望开始新的事务,那么可以利用PROPAGATION_REQUIRES_NEW属性。 PROPAGATION_SUPPORTS属性允许服务方法在客户端有TX上下文时在客户端TX中运行; 如果客户端没有TX,就不用TX而直接运行。 我们还指定,当方法抛出FacadeException类型的异常时,addLineItem就总是回滚事务。这就达到了另一个粒度级别:在异常场景中,我们的控制可以精细到TX的具体结束方式。前缀符号“-”指定回滚TX,而前缀符号“+”指定提交TX。 PROPAGATION_REQUIRED:服务始终在事务中运行,如果已经运行一个TX,bean方法就会加入到该TX中;否则,spring的轻量级TX管理就会启动一个TX. PROPAGATION_REQUIRES_NEW:调用组件服务是总是开始新的事务。 PROPAGATION_SUPPORTS:属性允许服务方法在客户端有TX上下文时在TX中运行;如果客户端没有TX,就不用TX而直接运行。 前缀符号“-”指定回滚TX,而前缀符号“+”指定提交TX。 |
|
返回顶楼 | |
发表时间:2007-01-06
很好啊...
spring是好东西... 从全局掌握一个"度", 不要患上 "IOC传染病" ...! |
|
返回顶楼 | |
发表时间:2007-01-07
建议:刚开始学的时候不要一股脑儿全上,什么struts,hibernate全都用上了,还是一部分一部分的学比较好一些。
|
|
返回顶楼 | |
发表时间:2007-01-08
楼上的说的不错!!我以前的项目就是struts,hibernate,spring,tiles,好郁闷!!研究了半个月!!
|
|
返回顶楼 | |