Compass配置说明及注意事项3

本文介绍了Compass与Spring框架整合的方法,包括如何通过Spring配置文件替代Compass的*.cfg.xml文件,实现索引路径、元数据路径及映射文件的配置,并展示了具体的配置示例。

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

<o:p> </o:p>

上面 package对应了POJO的包名,class对应了POJO类名,contractPOJO中一些较为Base, property对应了POJO的属性。上面看到的像ANT中的${*}就是*.cmd.xml 中所定义的common meta data。通常来说*.cmd.xml中的aliasPOJOClass进行映射。Meta data Class中的property进行映射。更多的映射的细节在此不多讲。可以参考 Compass的中自带的Sample Petclinic来理解。<o:p></o:p>

<o:p> </o:p>

    第三类:*.cfg.xml文件<o:p></o:p>

    Compass*.cfg.xml文件就和Hibernate*.cfg.xml有些类似了。下面是一个*.cfg.xml文件的内容:<o:p></o:p>

<compass-core-configuration><o:p></o:p>

    <compass>    <o:p></o:p>

        <setting name="compass.engine.connection">target/index</setting>        <o:p></o:p>

        <meta-data resource="org/compass/sample/library/library.cmd.xml" />     <o:p></o:p>

        <mappings>
               <class name="test.Author" />
       </mappings>
<o:p></o:p>

    </compass><o:p></o:p>

</compass-core-configuration><o:p></o:p>

上面<o:p></o:p>

<setting name="compass.engine.connection">target/index</setting>    指定了索引文件存放的路径。<o:p></o:p>

<meta-data resource="org/compass/sample/library/library.cmd.xml" />  指定了*.cmd.xml文件存放的路径。<o:p></o:p>

<mappings><class name="test.Author" /></mappings>是对compassmapping文件进行指定。Test.Author对应的文件是test/Author.cpm.xml.<o:p></o:p>

<compass>是对compass中的compass类进行的一些参数设置,这个compass是一个重量级的类,类似于HibernateSessionFactory.<o:p></o:p>

<o:p> </o:p>

HibernateSpring进行整合后,Hibernate就不需要*.cfg.xml这个文件了,借而代之的是用Spring的配置文件来进行配置。同样,CompassSpring进行整合后,*.cfg.xml也可以不需要了。比如如下的Spring配置。<o:p></o:p>

<!-- COMPASS START --><o:p></o:p>

    <bean id="compass" class="org.compass.spring.LocalCompassBean"><o:p></o:p>

        <property name="resourceLocations"><o:p></o:p>

            <list><o:p></o:p>

                <value>classpath:org/compass/sample/petclinic/petclinic.cmd.xml</value><o:p></o:p>

                <value>classpath:petclinic.cpm.xml</value><o:p></o:p>

            </list><o:p></o:p>

        </property><o:p></o:p>

        <property name="compassSettings"><o:p></o:p>

            <props><o:p></o:p>

                <prop key="compass.engine.connection">file://${user.home}/compass/petclinic</prop><o:p></o:p>

                <prop key="compass.transaction.factory">org.compass.spring.transaction.SpringSyncTransactionFactory</prop><o:p></o:p>

            </props><o:p></o:p>

        </property><o:p></o:p>

        <property name="transactionManager"><o:p></o:p>

            <ref local="transactionManager" /><o:p></o:p>

        </property><o:p></o:p>

    </bean><o:p></o:p>

     <bean id="hibernateGpsDevice" class="org.compass.spring.device.hibernate.SpringHibernate3GpsDevice"><o:p></o:p>

       <property name="name"><value>hibernateDevice</value></property><o:p></o:p>

       <property name="sessionFactory"><ref local="sessionFactory" /></property><o:p></o:p>

     </bean><o:p></o:p>

     <bean id="compassGps" class="org.compass.gps.impl.SingleCompassGps" init-method="start" destroy-method="stop"><o:p></o:p>

       <property name="compass"><ref bean="compass" /></property><o:p></o:p>

       <property name="gpsDevices"><o:p></o:p>

         <list

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值