最近你在用ssh整合德框架完成项目,遇到个问题,
我采用的是String分片的配置文件,但是分片完了之后像是每个xml文件间不能进行数据的共享是用
例如:applicationContext-common里面有个sessionFactory的bean,applicationContext-dao里面有个dao的bean需要依赖此bean的注入,但是在applicationContext-dao里面却不能使用applicationContext-common里sessionFactory
大伙指点下

解决方案 »

  1.   

    怎么没人啊,在没有分片之前配在一个applicationContext里没有问题,分完了之后
    dao的bean的<property name="sessionFactory">都会报错,说找不到sessionFactroy这个属性
      

  2.   

    我们项目的是分片的没问题的,可能你配置的有问题。web.xml:<!-- 加载spring的配置文件  -->
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext-*.xml
       </param-value>
    </context-param>
    applicationContext-core.xml中配置的sessionFactory:<!-- 配置hibernate SessionFactory -->
    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
    <ref local="dataSource" />
    </property>
    applicationContext-team1.xml配置中 用到core中的 sessionFactory:<bean id="changedPrizeDAO" class="com.isoftstone.ctcs.dao.team1.impl.ChangedPrizeDAOImpl"
      scope="prototype" >
       <property name="sessionFactory">
    <ref bean="sessionFactory" />
    </property>
    </bean>
    楼主可参考下
      

  3.   

    这里的玄机就在<ref bean="sessionFactory" />中的属性bean上了,这里ref标记有两个属性,一个是这里写的bean另外一个是local你对比下楼上贴出来的两个spring配置文件,如果ref的标记使用的是bean,则可以分片查找,如果使用的是local则指找当前片的xml文件。