就是ApplicationContext分开写怎么写应该
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
                <property name="mappingResources">
<list>
<value>com/snsoft/tutorial/domain/TUser.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
</bean>   
如上面的代码 ,我想把list里面这一段分出一个独立的配置文件,这个独立的配置文件应该怎么写,怎么引入?
     <bean id="userDao" class="com.snsoft.tutorial.dao.UserDAOImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>第二个问题就是dao之类的了 我想的还是加载时候分开加载 把相关模块的dao配置分出来写,一个模块使用一个bean配置,然后再加载

解决方案 »

  1.   

    多配置文件只要在web.xml加上下面配置:
    <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>
    /WEB-INF/a.xml,/WEB-INF/b.xml
    </param-value>
     </context-param>
    内容结构和applicationiContext.xml一样,可以参考着写。
      

  2.   

    意思是不是说 只要里面写bean就可以了像dao之类的他是每一个写一个bean 我就是问下加载hibernate那段怎么弄 <list></list>
    list这里面怎么写啊
      

  3.   

    按你的需要给每个xml分配不同的bean,list指定你的实体类所在的目录就行了。
      

  4.   


    你没明白我的需求 我的意思是list里面这部分 本来是写类似
    <value>com/snsoft/tutorial/domain/TUser.hbm.xml</value>的内容我要把这部分内容分出来,就是再写一个xml或者properties,里面只放
    com/snsoft/tutorial/domain/TUser.hbm.xml
    可以么,要怎么写
      

  5.   


    你没明白我的需求 我的意思是list里面这部分 本来是写类似
    <value>com/snsoft/tutorial/domain/TUser.hbm.xml</value>的内容我要把这部分内容分出来,就是再写一个xml或者properties,里面只放
    com/snsoft/tutorial/domain/TUser.hbm.xml
    可以么,要怎么写<property name="mappingDirectoryLocations">
    <list>
    <value>classpath:com/entity/part1</value>
    </list>
    </property>这样不行吗,定义多个目录,比如part1、part2...,然后把你的hbm.xml分开放进去,最后加到不同的xml里面!
      

  6.   


    你没明白我的需求 我的意思是list里面这部分 本来是写类似
    <value>com/snsoft/tutorial/domain/TUser.hbm.xml</value>的内容我要把这部分内容分出来,就是再写一个xml或者properties,里面只放
    com/snsoft/tutorial/domain/TUser.hbm.xml
    可以么,要怎么写<property name="mappingDirectoryLocations">
    <list>
    <value>classpath:com/entity/part1</value>
    </list>
    </property>这样不行吗,定义多个目录,比如part1、part2...,然后把你的hbm.xml分开放进去,最后加到不同的xml里面!
    哥们能写完整点么,比如classpath:com/entity/part1具体写成什么,举个例子啊,然后这个配置文件怎么写啊?分是你的了,来个完整的呗,我是第一次自己架这个,想都搞明白了
      

  7.   

    第一、可以把所有实体类和hbm.xml按照业务划分,然后分别放在不同的文件夹下,比如com/entity/part1,com/entity/part2...
    第二、修改你的applicationContext.xml文件,按业务分离出相应的bean到另外一个配置文件比如:applicationContext_1.xml,然后在applicationContext.xml通过以下方式引入外部文件:
    <import resource="applicationContext_1.xml"/>,注意路径。
    第三、applicationContext.xml中定义sessionFactory时,list可以指定加载<value>classpath:com/entity/part1</value>这部分实体文件;而applicationContext_1.xml定义sessionFactory时,可以指定加载<value>classpath:com/entity/part2</value>这部分实体文件。注意这两个sessionFactory不能同名,因为最终applicationContext_1.xml要导入applicationContext.xml中,避免命名冲突。
    第四、修改web.xml,实现spring多配置文件的引用:<!-- 加载applicationContext文件 -->
    <context-param>
    <param-name>contextConfigLocation</param-name>
                    <!-- 扫描加载以applicationContext开头的配置文件,*是通配符,这些文件都放在src下 ->
    <param-value>classpath:applicationContext*.xml</param-value>
    </context-param>
    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>差不多思路就这样吧。
      

  8.   

    另外多个配置文件可以共享一个dataSource,区别在定义不同的sessionFactory。当然可以在applicationContext.xml中定义多个sessionFactory,那么在applicationContext_1.xml中不用继续配置数据源,只要在相关的dao中注入sessionFactory就可以了。