李博ID:li285913050
2436次访问,排名2万外好友13人,关注者13
相信自己,就一定会Success!!
li285913050的文章
原创 10 篇
翻译 0 篇
转载 1 篇
评论 4 篇
最近评论
mldstk:wow power leveling
xuxiang19840814:很好,我很喜欢,对我现在学习很有帮助
li285913050:少一个jar包
把这个包 commons-pool-1.3.jar 发布到项目里就OK啦
xuxiang19840814:好好工作,好好发展。李博,刚开始的路确实很困难,一定要坚持
文章分类
收藏
    相册
    我就是我
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 Struts2+Spring2+Hibernate3.2配置参考2 收藏

    新一篇: Struts 2 + Spring 2 + Hibernate 3 整合入门详解 | 旧一篇: Hibernate3与spring2的整合应用

    关于sessionFactory的配置,如果不用Annotation的话,配置代码如下: 

    <!--Hibernate SessionFatory-->

        
    <bean id="sessionFactory"

        class
    ="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

            
    <property name="dataSource" ref="dataSource" />

            
    <property name="mappingDirectoryLocations">

                
    <list>

                    
    <value>

                        classpath*:/com/staplesnrc/commons/domain/

                    
    </value>

                    
    <value>

                        classpath*:/com/staplesnrc/plugins/security/domain/

                    
    </value>

                    
    <value>

                        classpath*:/com/staplesnrc/plugins/menu/domain/

                    
    </value>

                
    </list>

            
    </property>

     

            
    <property name="hibernateProperties">

                
    <props>

                    
    <prop key="hibernate.dialect">

                        ${hibernate.dialect}

                    
    </prop>

                    
    <prop key="hibernate.show_sql">

                        ${hibernate.show_sql}

                    
    </prop>

                    
    <prop key="hibernate.max_fetch_depth">

                        ${hibernate.max_fetch_depth}

                    
    </prop>

                    
    <prop key="hibernate.cache.use_query_cache">

                        ${hibernate.cache.use_query_cache}

                    
    </prop>

                    
    <prop key="hibernate.cache.provider_class">

                        ${hibernate.cache.provider_class}

                    
    </prop>

                
    </props>

            
    </property>

        
    </bean>

     

    Part 3. 事务管理的配置:

    <!-- Enable @Transactional support -->

    <tx:annotation-driven />

     

    <!-- Enable @AspectJ support -->

    <aop:aspectj-autoproxy />

     

    <aop:config proxy-target-class="true">

            
    <aop:advisor

                
    pointcut="execution(* com.hscib.pfms.app..*Manager.*(..))"

                advice-ref
    ="txAdvice" />

            
    <aop:advisor

                
    pointcut="execution(* com.hscib.pfms.core.dao.*Dao.*(..))"

                advice-ref
    ="txAdvice" />

    </aop:config>

     

    <!-- Basic Transaction definition,refered by aop -->

    <tx:advice id="txAdvice">

            
    <tx:attributes>

                
    <tx:method name="get*" read-only="true" />

                
    <tx:method name="find*" read-only="true" />

                
    <tx:method name="*" />

            
    </tx:attributes>

    </tx:advice>

     

    上面采用了aspectJ的配置方式,如果用旧的Spring1.2的配置,相关代码配置如下:

    <bean id="baseTxService"

            class
    ="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"

            abstract
    ="true">

            
    <property name="transactionManager" ref="transactionManager" />

            
    <property name="proxyTargetClass" value="true"/>

            
    <property name="transactionAttributes">

            
    <props>

            
    <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>

            
    <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>

            
    <prop key="save*">PROPAGATION_REQUIRED</prop>

            
    <prop key="update*">PROPAGATION_REQUIRED</prop>

            
    <prop key="remove*">PROPAGATION_REQUIRED</prop>

            
    </props>

            
    </property>

            
    </bean>

     

     同样,下面列出具体Bean的两种配置,首先支持AspectJ的配置下面是Spring1.2的配置Part3 Struts的配置,struts.xml内容注意:struts.objectFactory采用了SpringBean方式创建Action.

    <bean id="userManager" class="com.hscib.pfms.app.manager.demo.UserManager"/>

     

    <bean id="userManager" parent="baseTxService">

            
    <property name="target">

                
    <bean class="com.hscib.pfms.app.manager.demo.UserManager" />

            
    </property>

    </bean>

     

    <?xml version="1.0" encoding="UTF-8" ?>

    <!DOCTYPE struts PUBLIC

        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

        "http://struts.apache.org/dtds/struts-2.0.dtd"
    >

     

    <struts>

        
    <!-- Constants -->

        
    <constant name="struts.objectFactory" value="spring" />

        
    <constant name="struts.i18n.encoding" value="UTF-8" />

        
    <constant name="struts.custom.i18n.resources" value="i18n/messages" />

     

        
    <!-- Include Struts defaults -->

        
    <include file="struts-default.xml" />

     

        
    <package name="default" extends="struts-default">

            

        
    </package>

     

        
    <package name="demo" extends="struts-default" namespace="/demo">

     

            
    <action name="save" class="userAction" method="save">

                
    <result type="redirect-action">list</result>

            
    </action>

     

            
    <action name="list" class="userAction" method="list">

                
    <result>/pages/demo/user.jsp</result>

            
    </action>

            

            
    <action name="delete" class="userAction" method="delete">

                
    <result type="redirect-action">list</result>

            
    </action>

             

            
    <action name="edit" class="userAction" method="edit">

                
    <result>/pages/demo/user.jsp</result>

            
    </action>

        
    </package>

    </struts>

     

    下面列出Spring方式配置的Action的配置文件的样子: 

    <?xml version="1.0" encoding="UTF-8"?>

    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">

    <beans default-autowire="byName" default-lazy-init="true">

        
    <bean id="userAction" class="com.hscib.pfms.app.web.demo.UserAction" scope="prototype">

            
    <property name="userManager" ref="userManager"/>

        
    </bean>

    </beans>

    发表于 @ 2008年03月21日 14:24:00|评论(loading...)|编辑

    新一篇: Struts 2 + Spring 2 + Hibernate 3 整合入门详解 | 旧一篇: Hibernate3与spring2的整合应用

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © apple