<bean id="baseProxy" lazy-init="true" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
        <property name="transactionManager">
            <ref bean="transactionManager"/>
        </property>
        <property name="transactionAttributes">
            <props>
                <prop key="*">PROPAGATION_REQUIRED</prop>
            </props>
        </property>
    </bean>
    <bean id="collectDAO" parent="baseProxy">
        <property name="target">
            <bean class="cn.com.etabot.CollectDAO" autowire="byName"/>
        </property>
    </bean>
    <bean id="SpringQuery" class="cn.com.bgo.dao.hibernate.SpringQuery">
        <property name="sessionFactory">
            <ref local="sessionFactory"/>
        </property>
    </bean>
    <bean id="AdInfoDAOProxy" parent="baseProxy">
        <property name="target">
            <bean class="cn.com.bgo.dao.hibernate.AdInfoDAO" autowire="byName"/>
        </property>
    </bean>
    <bean id="CustomerDAOProxy" parent="baseProxy">
        <property name="target">
            <bean class="cn.com.bgo.dao.hibernate.CustomerDAO" autowire="byName"/>
        </property>
    </bean>    <bean id="TownDAOProxy" parent="baseProxy">
        <property name="target">
            <bean class="cn.com.bgo.dao.hibernate.TownDAO" autowire="byName"/>
        </property>
    </bean>    <bean id="MapDAOProxy" parent="baseProxy">
        <property name="target">
            <bean class="cn.com.bgo.dao.hibernate.MapDAO" autowire="byName"/>
        </property>
    </bean>    <bean id="CategoryDAOProxy" parent="baseProxy">
        <property name="target">
            <bean class="cn.com.bgo.dao.hibernate.CategoryDAO" autowire="byName"/>
        </property>
    </bean>