spring 连sonic mq时会有如下的配置
    <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
      <property name="environment">
        <props>
          <prop key="java.naming.factory.initial">
             com.sonicsw.jndi.mfcontext.MFContextFactory
          </prop>
          <prop key="java.naming.provider.url">tcp://192.168.1.1:2506</prop>
          <prop key="java.naming.security.principal">Administrator</prop>
          <prop key="java.naming.security.credentials">Administrator</prop>
          <prop key="com.sonicsw.jndi.mfcontext.domain">Domain1</prop>
          <prop key="com.sonicsw.jndi.mfcontext.idleTimeout">10000</prop>
        </props>
      </property>
    </bean>
    
     <!-- JMS连接工厂 -->
    <bean id="connectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean" >
      <property name="jndiName" value="seashellSonicSendXAConnectionFactory" />
      <property name="jndiTemplate" ref="jndiTemplate" />
    </bean>
    <bean id="cachedConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory" destroy-method="destroy">
      <property name="targetConnectionFactory" ref="connectionFactory"/>
    </bean>我现在直接用代码把cachedConnectionFactory new出来。发现其setTargetConnectionFactory方法接收的参数类型是ConnectionFactory 而非配置文件中指向的的JndiObjectFactoryBean类型。
问题:
1、如何才能new出cachedConnectionFactory 然后完成 JndiObjectFactoryBean的加载(配置的加载)?
2、spring是如何完成的转换?跪求解答~不胜感激!!~~